2

私はチュートリアルに従いました:

www.edumobile.org/iphone/iphone-programming-tutorials/a-simple-stopwatch-for-iphone

そして、同じ行に 1 つのエラーと 1 つの警告が表示されます 71

for (int i = [timeArray count] – 1; i >= 0; i–) {

エラー – 解析の問題 予想される ) 警告 – 未使用のエンティティの問題 式の結果が未使用

何が間違っているのですか?

4

2 に答える 2

2

これを変える、

for (int i = [timeArray count] – 1; i >= 0; i–) {

に、

for (int i = [timeArray count] – 1; i >= 0; i--) {

コンパイラは、文字「–」を解析できないと言っています。for ループの構文を認識して解析できない場合、このエラーがスローされます。

于 2012-10-30T22:12:48.187 に答える
1

ACB が述べたように、式は i- ではなく i-- である必要があります。

いくつかのメモ - Douglas Crawford は、実際には i -= 1 を使用することを支持して -- と ++ の使用を避けることを推奨しています。

int example = --i + b;  

式の終わりの後の i の値と混同する場合があります。

また、マイナーな最適化として、ループの反復ごとに [timeArray count] を呼び出すのではなく、配列のサイズをローカル値に入れる必要があります。

int timeArraySize = [timeArray count] - 1;
for (int i = timeArraySize; i >= 0; i -= 1) {

それが役立つことを願っています!

于 2012-10-30T22:56:24.733 に答える