迅速3,NSFetchRequestResult没有成员值
问题描述:
在夫特2,我曾使用以下代码:迅速3,NSFetchRequestResult没有成员值
for (_, value) in self.frc.fetchedObjects!.enumerated() {
if (value.value(forKeyPath: "name_of_field_of_entity_name") as? String == "S") {
...
}
}
现在,使用的Xcode 8.0β(8S128d)和SWIFT 3时,Xcode告诉我:
值类型的“NSFetchRequestResult”没有成员“价值”
如何解决这个问题?
谢谢
答
我解决了不同的方式。
代替使用环与列举的(),I创建的对象的阵列,并且我通过访问XXX属性:
let xxx = self.frc.fetchedObjects as! [XXX]
for i in 0..<(xxx.count) {
print(xxx[i].attribute_of_XXX)
}
参见[什么在核心数据的新(https://developer.apple。 com/library/prerelease/content/releasenotes/General/WhatNewCoreData2016/ReleaseNotes.html)以及[问与答:Swift 3,NSFetchRequest](http://*.com/questions/37810967/swift-3-nsfetchrequest)。我相信这个帖子可能是后一个链接的重复候选人。 – dfri
对不起,在我搜索候选答案的过程中,我多次阅读该帖子。但在我看来,Deniss询问了不同的问题。这两个线程询问有关NSFetchRequest,但在我的线程中,我不明白如何使用值(forKeyPath ....在swift 3. – Ziggy
我相信你正在寻找'func valueForKeyPath(_ keyPath:String) - > AnyObject? '在[NSKeyValueCoding'协议]中蓝图(https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Protocols/NSKeyValueCoding_Protocol/#//apple_ref/occ/instm/NSObject/valueForKey: )。 – dfri