迭代通过对象的数组和在Objective-C

问题描述:

添加值我有对象的简单阵列..迭代通过对象的数组和在Objective-C

NSEnumerator * enumerator = [someArray.childItems objectEnumerator]; 
ChildItem* childItem; 
while(childItem = [enumerator nextObject]) 
{ 
     someArray.total = someArray.total + childItem.SomeAverage; 
} 

someArray.total是浮动,所以是childItem.SomeAverage。 当我尝试编译,我得到:

无效操作数为二进制+(有“浮*”和“浮动*”)

这是什么意思? 在此先感谢

+0

只是你可以发布childItems – ennuikiller 2010-08-21 01:19:04

这意味着你的论点都是float *,而不是浮动,你不能像这样添加指针。 :)(虽然你可以减去指针,但除非你想进入它,否则这是一个不同的讨论。)你还没有显示出这些声明很难说更多。

P.S.您不需要在“现代”Obj-C(2.0)中使用该枚举器语法。你可以写:

for (ChildItem * childItem in someArray.childItems) { 
    ... 
} 
+0

的声明,我认为你的意思是ObjC 2.0清晰(现代可能会产生混淆,因为它通常是指在运行时,你可以同时在现代使用objc 2.0和传统运行时)。此外,您需要在此处使用'for'关键字,而不是使用while。 – 2010-08-21 01:19:56

+0

更正了错字,谢谢。 – 2010-08-21 01:25:06