2012年5月9日 星期三

iOS小抄_NSMutableArray與NSMutableDictionary的基本操作

在程式撰寫時時常常會有一個需求:將一個數字或是字串加到陣列裡面。這時我們會採用NSArray來儲存需要的內容。

NSArray *numArray = [NSArray arrayWithObjects:[NSNumber numberWithInt:2],[NSNumber numberWithInt:5], nil];

但往往要擺放的內容並不是一開始就知道個數,可能會藉由某一個迴圈一個一個的把資料擺進去,這時候就會需要使用NSMutableArray。

NSMutableArray *numArray = [[NSMutableArray alloc] init]; for (int i =0; i < someCount ; i++) { [numArray addObject:Object]; }

而不管我們使用NSArray或是NSMutableArray都可以藉由objectAtIndex來取得儲存進去的數值。

[numArray objectAtIndex:i];

但更多時候,我們想要儲存的資料可能不是一維的,可能類似一個表格或是想存進很多個物件,例如儲存一個公司物件,一個公司物件又有名稱、員工數與產業別等屬性,這時候就可以利用NSMutableDictionary來進行處理,再將NSMutableDictionary存進NSMutableArray當中。

NSMutableDictionary *att = [NSMutableDictionary dictionaryWithObjectsAndKeys: @"GOOD",@"type", Object.NAME, @"NAME", Object.DATE, @"DATE", Object.INFO, @"INFO", nil]; [NameArray addObject:att];

存進去OK,那要怎麼提出來?

NSMutableDictionary *temp = [WaterArray objectAtIndex:x]; NSString *NAME = [temp objectForKey:@"NAME"]; NSString *DATE = [temp objectForKey:@"DATE"]; NSString *INFO = [temp objectForKey:@"INFO"];

當然,你也可以直接將ValueObject概念的自訂物件存進去。

沒有留言:

張貼留言