我有一個NSMutableArray,其中包含類似於此類的每個位置的類模型對象。 該模型包含兩種類型的信息,我們將其稱爲id和名稱。 因此,在我的NSMutableArray的每個位置,我都有一個包含2個信息的對象。包含對象的NSMutableArray中的組元素
然後,在我的NSMutableArray的第一位置,我有
{
id = 1;
name = "Dan"; //this is the first object in NSMutableArray
}
在NSMutableArray中的第二位置,我有:
{
id = 1;
name = "Luca";
}
在第三位置
{
id = 2;
name = "Tom";
}
依此類推。
好的,我的目標是在SNMutableArray內的各種對象之間創建相同ID的聯合,但這太難了!
舉例來說,如果我有:
{
id = 1;
name = "Tom";
}
{
id = 1;
name = "Luca";
}
{
id = 2;
name = "Steve";
}
{
id = 2;
name = "Jhon";
}
{
id = 3;
name = "Andrew";
}
的目標是:
{
id = 1;
name = "Tom";
name = "Luca";
}
{
id = 2;
name = "Steve";
name = "Jhon";
}
{
id = 3;
name = "Andrew";
}
任何想法?想cellForRowAtIndexPath方法中使用此,我試圖寫:(釐米是我的類模型和myArray的是包含釐米類的一個對象的NSMutableArray)
ClassModel *cm = [myArray objectAtIndex:indexPath.row];
NSMutableArray * resultArray = [NSMutableArray new];
NSArray * groups = [array valueForKeyPath:cm.ID];
for (NSString * groupId in groups)
{
NSMutableDictionary * entry = [NSMutableDictionary new];
[insert setObject: groupId forKey: @ "groupId"];
NSArray * groupNames = [array filteredArrayUsingPredicate: [NSPredicate predicateWithFormat: @ "groupId =% @", groupId]];
for (int i = 0; i <groupNames.count; i ++)
{
NSString * name = [[groupNames objectAtIndex: i] objectForKey: @ "name"];
[entry setObject: name forKey: [NSS string stringWithFormat: @ "name% d", i + 1]];
}
[resultArray addObject: entry];
}
NSLog (@ "% @", resultArray);
但這並不work..maybe因爲我陣列中的每個元素都是一個對象? .. 幫幫我!
感謝您的回答!我只有一個問題:什麼是'GroupClassModel * gcm'?我不明白 –
這是一個新的對象類,您將需要創建一個名稱數組而不是單個字符串。 – Paulw11
好吧,現在我明白了!最後一個問題,如果我想用工會的字符串替換id,它是否工作呢?我有一個警告'實例方法'-add:'找不到(返回類型默認爲'id')' –