我要做的是创建一个文本字符串数组,我想从这个数组中选择一个随机文本字符串,我通常可以使用数组轻松完成。但是,我也希望能够将它们分类,当我选择一个随机的类别时,我想知道它是什么类别,并根据它所属的类别来决定它的不同之处。我我想我可以使用NSDictionary中的键来决定类别,就像将类别中的所有条目设置为具有相同的键一样。但后来我不知道如何从该字典中检索一个随机的,然后知道密钥是什么。我从来没有使用过NSDictionary所以我对它知之甚少,所以也许我刚才所说的没有任何意义。
我也可能以完全错误的方式接近这一点,所以如果你对如何做我所描述的事情有任何其他建议,我会对此持开放态度,如果你有一个非常详细的代码答案,那么这是可能的。
答案 0 :(得分:0)
我只想用数字填充数组,即
{ { category = Animals, name = Cat }, { category = Vehicles, name = Helicopter }, { category = Foods name = Pie }, { category = Animals, name = Zebra } }
然后从该数组中随机选择。
对于程序化示例:
theArray = [NSArray arrayWithObjects:[NSDictionary dictionaryWithObjectsAndKeys:@"Animals", @"category", @"Cat", @"name", nil],
[NSDictionary dictionaryWithObjectsAndKeys:@"Vehicles", @"category", @"Helicopter", @"name", nil],
// ...
[NSDictionary dictionaryWithObjectsAndKeys:@"Animals", @"category", @"Zebra", @"name", nil],
nil];
// ...
randomDict = [theArray objectAtIndex:(rand() % [theArray count])];
NSString *name = [randomDict objectForKey:@"name"];
NSString *category = [randomDict objectForKey:@"category"];