を更新した後、私は私のコードではcocos2d/Xcodeのオブジェクトがすぐに
にNSMutableArrayのを使用して非常に奇妙なエラーを持って更新されていない、私は
NSMutableArray *peasantArray;
と別のNSMutableArrayのが含まれているNSMutableArrayの含むオブジェクトを持っていますオブジェクトB
予定更新機能では、本来次の機能である別の機能を呼び出しました: 私は、* peasantArray内のすべてのオブジェクトAをループし、任意の農民オブジェクトに変数var == GameEntityCommandIdlingがある場合は、2番目のNSMutableArray * treeArrayのオブジェクトBを変更します。
問題は、時には、私がpeasantArray内のオブジェクトAを変更した後、変更された変数(var)が、スケジュールされた方法で変数statusを出力することによってオブジェクトA内で修正/更新されている。次回のスケジュール(1/30s)でNSMutableArray * peasantArrayを再びループすると、古い変数/更新されていない変数(var)を持つオブジェクトAが再び見つかり、アルゴリズムが間違っている、
しかし、NSMutableArrayの* peasantArrayを通じてIループは1secondよりも、私が正しく更新された変数の値としてオブジェクトAのための変数(VAR)を参照してくださいだろうたびに、
は、どのようには限界がある少ない場合高速NSMutableArrayを反復処理できますか?ここ
は、私は基本的には今述べたコードのいくつかの作品は、
NSMutableArray *peasantArray;
NSMutableArray *treeArray;
.....
peasantArray = [[[NSMutableArray alloc] initWithCapacity:1]retain];
for(int i = 0; i < 1; i++)
{
Peasant *A = [[Peasant alloc] init];
[peasantArray addObject:A];
}
.... //更新の内側()
ですfor (int i = 0;i < [peasantArray count];i++)
{
Peasant *A = [peasantArray objectAtIndex:i];
if (A.status == something)
{
printf("A.status is something\n");
A.status = sometingelse;
...
//update other things not related to this NSMutableArray or object
}
}
.....
はSOエラーがそれの一方のみが印刷されなければならないが、時々私は、私は本当にすべての助けに感謝
、
おかげで、「A.statusが何かある」の複数のprintfを持っているということです
どのようなタイプの 'status'ですか?それは 'NSString'ですか? – Anna