OStack程序员社区-中国程序员成长平台

标题: ios - 在 NSDictionary* 类型的对象上未找到读取数组元素的预期方法 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 19:44
标题: ios - 在 NSDictionary* 类型的对象上未找到读取数组元素的预期方法

我知道有很多这样的问题,但我认为我的情况有点不同。

    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-推荐答案


您似乎想从字符串格式创建字典键。你需要使用 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/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4