我有以下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
只是缺少它。
我尝试阅读以下内容:
在 XCTestCase 中的 Swift XCode 6 Beta 4 中进行转换时,NSFetchRequest 返回的 AnyObject 数组出现“Swift 动态转换失败”错误
还有什么我想念的吗?