相关疑难解决方法(0)

在目标c中将NSArray过滤为新的NSArray

我有一个NSArray,我想创建一个新的NSArray包含原始数组中符合特定条件的对象.标准由返回a的函数决定BOOL.

我可以创建一个NSMutableArray,遍历源数组并复制过滤器函数接受的对象,然后创建它的不可变版本.

有没有更好的办法?

cocoa objective-c nsarray

117
推荐指数
5
解决办法
11万
查看次数

NSMutableDictionary setValue:/ forKey:?

我有一个NSMutableArray名叫动物.我需要创建一个NSMutableDictionary这样的动作数组中的所有名称都Keys以特定的第一个字母=开头Values.

这是动物阵列:

NSMutableArray *animals = [NSMutableArray arrayWithObjects:@"Bear", @"Black Swan", @"Buffalo", @"Camel", @"Cockatoo", @"Dog", @"Donkey", @"Emu", @"Giraffe", @"Greater Rhea", @"Hippopotamus", @"Horse", @"Koala", @"Lion", @"Llama", @"Manatus", @"Meerkat", @"Panda", @"Peacock", @"Pig", @"Platypus", @"Polar Bear", @"Rhinoceros", @"Seagull", @"Tasmania Devil", @"Whale", @"Whale Shark", @"Wombat", nil];
Run Code Online (Sandbox Code Playgroud)

这是我的代码,将其设置为MutableDictionary:

 for(NSString *str in animals) {
     NSString *firstLetter = [str substringToIndex:1];
     NSArray *newArr = [NSArray arrayWithObject:str];
     [myMutableDictionary setValue:newArr forKey:firstLetter];
 }
Run Code Online (Sandbox Code Playgroud)

问题是每个键只设置一个值,但我需要所有对象都有一个具有相同值的第一个字母.例如value ='b' - > @"Bear",@"Black Swan",@"Buffalo".

iphone objective-c ios

2
推荐指数
1
解决办法
238
查看次数

标签 统计

objective-c ×2

cocoa ×1

ios ×1

iphone ×1

nsarray ×1