NSManagedObject
私は迅速に以下を持っています:
import Foundation
import CoreData
public class User: NSManagedObject {
@NSManaged public var first_name: String
@NSManaged public var last_name: String
}
以下の関数で値を提供するクラスがあります。
- (id)getUserAtIndexPath:(NSIndexPath *)indexPath {
User *user = [self.fetchedResultsController objectAtIndexPath:indexPath];
return user;
}
Objective-C
クラスからこの関数を呼び出すと、すべて正常に動作します。私は次のように呼び出します:
User *user = [self.userAccessor getUserAtIndexPath:indexPath];
そして、私はそこから続けることができます。Swift
次のようにクラスから呼び出すと:
let user: User = self.userAccessor.getUserAtIndexPath(indexPath) as User
私はswift_dynamicCastClassUnconditional
毎回取得します。私が間違っていることはありますか?同じ関数が で機能し、 で機能しObjective-C
ないのはなぜSwift
ですか? ブレークポイントを置いてSwift
、戻り値が有効な変数であることを呼び出しで確認できます! いくつかの方法Swift
でそれが欠けています。
私はこれについて以下を読んでみました:
私が行方不明になっているものは他にありますか?