我只需要一些幫助來創建一個可以存儲多個字典的數組。 我:如何用字典創建數組?
.H
NSArray * projects;
NSDictionary *project1;
NSDictionary * project2;
.M
projects = /* What should I write here to store the
above two dictionaries in my array. */
感謝,
我只需要一些幫助來創建一個可以存儲多個字典的數組。 我:如何用字典創建數組?
.H
NSArray * projects;
NSDictionary *project1;
NSDictionary * project2;
.M
projects = /* What should I write here to store the
above two dictionaries in my array. */
感謝,
projects = [[NSArray alloc] initWithObjects:project1, project2, nil];
基本上(這將是正確的或不完全正確取決於你的實際代碼,聲明,屬性等)。因爲你宣佈projects
作爲NSArray
,你可以做到以下幾點:當它超出範圍,除非你保留它
projects = [NSArray arrayWithObjects: project1, project2, nil];
這個變量將消失神奇。
或者,如果你聲明projects
作爲NSMutableArray
並與屬性(retain, nonatomic)
的屬性,你可以做這樣的事情:
NSMutableArray *a = [[NSMutableArray alloc] initWithObjects:project1, project2, nil];
self.projects = a;
[a release];
有幾種方式來實現自己的目標,這取決於你的整體需求陣列。
我不知道,如果你正在尋找的是更復雜那麼這個,而是:
projects = [[NSArray alloc ] initWithObjects:project1,project2, nil];
應該工作。
如果你在追求更復雜的東西,那麼這讓我知道我會修改我的答案。
可以說我有n個數字化詞典,我希望它們都存儲在NSArray中,比如項目0,item1等。 – Ashutosh 2011-05-27 20:51:52
Isn那不就是他寫的嗎?你將能夠從[projects objectAtIndex:n]獲取NSDictionary; – LuckyLuke 2011-05-27 20:54:18
你是否確切地知道你會有多少個字典,或者每次調用這個類時數量會有所不同。如果你知道n,那麼你可以使用一個循環來通過調用InsertObject將每個字典添加到一個NSMutableArray中。http://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSMutableArray_Class/Reference/Reference。 html – CodeGuru 2011-05-27 21:00:44
arr = [[NSArray alloc ] initWithObjects:dict1,dict2, nil];
您對於可變對象的理解完全錯誤。 – kovpas 2011-05-27 20:46:33
@kovpas:我不同意;我只是提供了一種替代方法,旨在探索如何初始化數組的可能性,因爲OP沒有真正提供有關陣列將如何使用的任何線索。也許OP不理解可變對象和不可變對象之間的區別,現在他們還有其他的東西需要去了解。也許你會解開我的答案...... – 2011-05-27 20:50:29
所以,在這種情況下,你可以建議使用UITableView而不是NSArray。以防萬一,如果我們不知道OP真正想說些什麼;)。 – kovpas 2011-05-27 20:53:28