我有一个像这样的NSDictionary循环:
NSMutableDictionary *readDict = [[NSMutableDictionary alloc] initWithContentsOfFile:plist];
NSDictionary *keys = [readDict objectForKey:data]; //Dictionary
for(NSString *object in keys) {
NSData *(current object name) = [keys objectForKey:object]; //Dictionary
}
// Can I assign ^ the object name to a new NSData var as it loops?
是否可以在循环时从对象名称中指定变量名称?
答案 0 :(得分:0)
Objective-C基本上是C,只有一些扩展。在您对C语言的丰富知识中,您是否见过在运行时创建变量的方法?我没有。所以如果我弄清楚你想做什么,你就做不到。
什么是“数据”?它是一个包含字符串的变量吗?这条线
NSDictionary *keys = [readDict objectForKey:data]; //Dictionary
假设字典readDict有一个键值对,其中键等于变量数据中包含的字符串,值为NSDictionary。那是你想要的吗?
接下来,在字典上运行的for循环将在该字典中的 keys 上运行。所以在
for(NSString *object in keys)
名称“对象”被严重选择,因为它实际上是一个关键。
通常NSDictionary将包含具有已知值的键,并且您永远不会想到使用for循环来访问它们。或者你有一个字典,可以包含任意数量的未知密钥,你想要一个接一个地处理它们。你不会有不同的变量。