我知道有很多这样的问题,但我认为我的情况有点不同。
int i = 0;
while (_data[@"VerticalState%i", i] != nil) {
// do things
i++;
}
例如,一个具有 3 个 VerticalState 属性的“级别”将按如下方式实现:VerticalState0、VerticalState1、VerticalState2。
我想使用上面的 while 循环条件读取这些值,并且它应该在 i = 3 时停止。我怎样才能使上面的代码的想法起作用(显然还有其他一些配置)。仅供引用,_data 是一个 NSDictionary* 实例变量,已经加载了 plist 信息。
Best Answer-推荐答案 strong>
您似乎想从字符串格式创建字典键。你需要使用 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;
}
}
关于ios - 在 NSDictionary* 类型的对象上未找到读取数组元素的预期方法,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/37043017/
|