- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想在我的 NSDictionary
上使用 valueForKeyPath
,但问题是其中一个键是以 @ 符号开头的字符串。我无法控制 key 的命名。
我在尝试创建 key 路径时遇到了问题,因为我遇到了格式异常,即使在尝试转义 @ 符号时也是如此:
这很好用:
[[[dict objectForKey:@"key1"] objectForKey:@"@specialKey"] objectForKey:@"key3"]
但是这些都不起作用:
[dict valueForKeyPath:@"key1.@specialKey.key3"]
[dict valueForKeyPath:@"key1.@@specialKey.key3"]
有什么想法吗?
谢谢,
迈克
最佳答案
如果您想使用键值编码,则不应在键名中使用 @ 符号。
apple's guidelines键名如下:
Keys must use ASCII encoding, begin with a lowercase letter, and may not contain whitespace.
无论您从何处获取 key ,都必须找到一种解决方法来重新格式化 key 字符串,以使其符合 KVC。
关于iphone - 如果键以 @ 符号开头,则在 NSDictionary 上使用 valueForKeyPath?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1567850/
我在互联网上找到了一些 Mapkit 代码,如下所示: - (void)recenterMap { NSArray *coordinates = [self.mapView valueForKeyPa
动物类定义: @property (nonatomic, strong) NSString *food; 猫类定义: @property (nonatomic, copy) NSString *nam
我有以下 Objective-C 类: @interface GraphDataPoint : NSObject @property NSDate *date; @property NSNumber
我正在解析这个 json: { "destination_addresses" : [ "Göteborg, Sverige" ], "origin_addresses" : [ "Stockholm
我是另一个初学者,试图了解 Cocoa 及其复杂性。我正在读德沃的《Objective-C》。在键值编码部分中有一些 setValue:forKeyPath: 的示例。不知何故,尽我所能,我无法让它工
最近我在一个项目中更改了一些核心数据模型。迁移进行得很顺利,但我在对键路径进行查找的对象上有一些包装器(即:valueForKeyPath:@"@sum.somePropertyThatNoLonge
在数组操作下the Realm NSPredicate cheatsheet它表明我们可以通过 NSPredicate 进行针对 List 中特定元素的查询。但是,当我尝试以下操作时,总是出现“不支持
Printing description of self->data: { root = { participant = (
我有功能 func findObjectInArray(array: [AnyObject], field: String?, fieldValue: AnyObject, startFromTheB
我在 objective c 中的旧函数是 + (NSUInteger)getNumberOfDistinctUsers:(NSArray *)users { NSArray* usersAfterP
我正在寻找其他堆栈溢出问题,但似乎它不适用于我的情况。 我正在制作 YouTube 应用,我的代码如下。 if let JSON = response.result.value as? NS
我正在解析如下所示的 JSON: {"data":{"items":{"daily":{"2013-07-31":16}}}} 我已经构建了一个日期字符串。例如: NSDateFormatter *f
我在使用 valueForKeyPath 时遇到问题,这里是我获取 dataVersion 值的方式,它运行良好: Alamofire.request(.GET, "https://www.amaz
这是一个相当简短的问题,但我对如何解决它有点困惑。 for item in filteredAndSortedDates { print(item.datesSectionHeader())
有什么方法可以使用 valueForKeyPath 访问 NSArray 元素?例如,谷歌的反向地理编码服务返回一个非常复杂的数据结构。如果我想获取城市,现在我必须将其分成两个调用,如下所示: NSD
我有一个核心数据项目,其中包含一种“主”实体,该实体保存年份值(int 16)和一些其他值。还有一些其他“子”实体与该主机具有多对一的关系。在其他实体之一中,我想设置几个默认值,即开始日期和结束日期。
目前我正在尝试寻找一种紧凑的方法来平均矩阵。显而易见的解决方案是对矩阵求和,然后除以元素数。然而,我在苹果开发者网站上遇到了一种方法,该方法声称可以使用 valueForKeyPath 以更简单的方式
我有一个 id 类型的对象,想知道它是否包含给定 keyPath 的值: [myObject valueForKeyPath:myKeyPath]; 现在,我将它包装到一个 @try{ } @catc
我花了几个小时来调试这个问题,因此发布这个,以防你有专家建议/线索。 这是问题所在的代码: NSString *filePath = [[NSBundle mainBundle] pathForRes
我将时间段存储在核心数据中。每个时间段都有一个DateTime名为 EndDate 的属性。我正在尝试获取最大结束日期,该日期在指定日期 ( < ) 之前。 这就是我使用子查询和 ValueForKe
我是一名优秀的程序员,十分优秀!