我知道有很多这样的问题,但我认为我的情况有点不同。
int i = 0;
while (_data[@"VerticalState%i", i] != nil) {
// do things
i++;
}
例如,具有3个VerticalState属性的一个“级别”将实现为:VerticalState0,VerticalState1,VerticalState2。
我想在上面使用while循环条件读取这些值,并且当i = 3时它应该停止。我怎样才能使代码的思想在上面工作(显然有一些其他配置)。仅供参考,_data
是一个NSDictionary*
实例变量,已经加载了plist信息。
答案 0 :(得分:2)
您似乎想要从字符串格式创建字典键。您需要使用NSString stringWithFormat:
。
while (_data[[NSString stringWithFormat:@"VerticalState%i", i]] != nil) {
虽然像这样编写循环会更好:
int i = 0;
while (1) {
NSString *key = [NSString stringWithFormat:@"VerticalState%i", i];
id value = _dict[key];
if (value) {
// do things
i++;
} else {
break;
}
}