私はこの単純なコードを持っていますが、何が起こっているのか本当にわかりません:
NSLog(@"Data: %@",[dataFromServer description]);
for (int i=0; i<[data count]; i++) {
NSLog(@"Processing data :%d",i);
NSDictionary *current=[data objectAtIndex:i];
int category = [[current objectForKey:@"type"] intValue];
NSLog(@"Category value:%d",category);
if (category == 1) {
NSLog(@"Hotel found %@",[current description]);
[hotelsFromServer addObject:current];
}
NSLog(@"Hotels. Total:%d Items:%@",[hotelsFromServer count],[hotelsFromServer description]);
サーバー (dataFromServer) から正しく印刷された NSMutableArray を取得しています。各オブジェクトは NSDictionary です。カテゴリ 1 は、タイプがホテルであることを意味します。if 句を入力すると、hotel が正しく出力されます。
しかし、最終的な NSLog の for の外では、次のようになります。
Hotels. Total:0 Items:(null)
何故ですか?現在のアイテムは正しいです。NSMutableArray に追加されない理由。
配列は次のように定義されます。
@implementation ClassName
{
NSMutableArray * dataFromServer;
NSMutableArray * hotelsFromServer;
}