Swift中的NSManagedObject子类不能使用自定义访问器?

时间:2014-09-04 01:20:45

标签: core-data subclass nsmanagedobject accessor

我在Core Data中使用Swift生成NSManagedObject的子类。有一个瞬态可选属性标题。(可选的不是Swift的可选项,但Core Data是可选的。) 所以我需要一个自定义的吸气剂。我的代码是

class ShoppingList: NSManagedObject {

    @NSManaged var title: String

    func title() -> String {
        return "something"
    }
}

getter的Objective-C版本运行正常。但是,Xcode告诉我“func title()是无效的重新声明”。我试图使用计算属性,但得到“@Managed属性不能使用计算属性”。

所以我的问题是,是否有另一种方法可以在Swift版本的NSManagedObject子类中获取自定义访问器(getter)?

1 个答案:

答案 0 :(得分:0)

您可以为计算属性使用不同的名称,并让它返回标题变量。

@NSManaged var title: String

var myTitle : String {
   return self.title
}

这对你有用吗? Apple在许多地方通过使用前面的下划线命名实际的var,以及具有相同名称但没有下划线的计算属性