Любые советы по реализации рассчитанных атрибутов при использовании Core Data в Swift?Усилители атрибутов CoreData Swift и переходных атрибутов
с сгенерированным классом ManagedObject, я пытался переопределить геттер, но я получаю сообщение об ошибке:
'NSManaged' not allowed on computed properties
, который означает, что вы не можете переопределить геттер для переходного (вычисленного) атрибута.
В приведенном ниже примере кода dateDue
определяется как переходный атрибут в моей модели.
Обратите внимание, что @NSManaged lines были созданы Xcode - не добавлены мной.
@NSManaged var timeStamp: NSDate
@NSManaged var dateDue: String {
get {
self.willAccessValueForKey("dateDue")
var ddtmp = self.primitiveValueForKey("dateDue") as String?
self.didAccessValueForKey("dateDue")
if (ddtmp == nil)
{
let calendar = NSCalendar.currentCalendar()
let components = calendar.components((NSCalendarUnit.YearCalendarUnit | NSCalendarUnit.MonthCalendarUnit) , fromDate: self.timeStamp)
ddtmp = "\(components.year * 1000 + components.month)"
self.setPrimitiveValue(ddtmp, forKey: "dateDue")
}
return ddtmp!
}
}
Это атрибут в модели управляемого объекта. Juts для расширения, я пытаюсь скопировать метод, используемый одной из программ выборки яблока - однако образец яблока был написан в Objective C - фактически это его шаблон, который поставляется в Xcode (приложение основных деталей). –
Да, но ObjC не делает '@ NSManaged' - если вы пытаетесь обернуть базовый атрибут, вы не должны использовать' @ NSManaged' здесь. '@ NSManaged' сообщает компилятору, что реализация свойства будет предоставлена с опозданием во время выполнения. Использование '@ NSManaged', явно предоставляя реализацию, является противоречием. – iluvcapra
ОК спасибо. Я передумаю удаление NSManaged. Дайте знать, как я нахожусь :) –