2016-07-22 3 views
0

В Swift 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» не имеет члена «значения»

Как можно исправить эту ошибку?

Спасибо

+0

Престола [Что новое в основных данных] (https://developer.apple. com/library/prerelease/content/releasenotes/General/WhatNewCoreData2016/ReleaseNotes.html), а также [Q & A: Swift 3, NSFetchRequest] (http://stackoverflow.com/questions/37810967/swift-3-nsfetchrequest). Я считаю, что этот поток, возможно, является дублирующим кандидатом для последней ссылки. – dfri

+0

Извините dfri, я много раз прочитывал этот поток во время поиска ответа кандидата. Но, по-моему, Денис спросил о другой проблеме. Оба потока спрашивают о NSFetchRequest, но в моем потоке я не понимаю, как использовать значение (forKeyPath .... в swift 3. – Ziggy

+0

Я считаю, что вы ищете 'func valueForKeyPath (_ keyPath: String) -> AnyObject? 'blueprinted в [протоколе NSKeyValueCoding] (https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Protocols/NSKeyValueCoding_Protocol/#//apple_ref/occ/instm/NSObject/valueForKey:). – dfri

ответ

2

Я решил по-другому.

Вместо использования цикла с перечисленным(), я создал массив объектов и получить доступ к атрибуту XXX по:

let xxx = self.frc.fetchedObjects as! [XXX] 
for i in 0..<(xxx.count) { 
    print(xxx[i].attribute_of_XXX) 
} 
Смежные вопросы