2010-08-21 62 views
1

添加值我有對象的簡單陣列..迭代通過對象的數組和在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

回答

0

這意味着你的論點都是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