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 回答