1
我已經閱讀了類似的答案(例如this),但它不適用於我。領域0.102.0保存RLMArray
我:
import Realm
import RealmSwift
class Ticket: Object {
dynamic var ticketDetails = RLMArray(objectClassName: TicketDetail.className())
}
class TicketDetail: Object {
}
當我創建一個新的票,應用程序崩潰,在這條線:
// Helper for getting the list object for a property
internal func listForProperty(prop: RLMProperty) -> RLMListBase {
return object_getIvar(self, prop.swiftIvar) as! RLMListBase
}
有:
fatal error: unexpectedly found nil while unwrapping an Optional value
在控制檯我打印 「託」 :
po prop
ticketDetails {
type = array;
objectClassName = TicketDetail;
linkOriginPropertyName = (null);
indexed = NO;
isPrimary = NO;
optional = NO;
}
如果我打印的 「自我」:
Ticket {
ticketDetails = RLMArray <0x7fee6c1d7880> (
[0] TicketDetail {
}
);
}
還等什麼?我想不通爲什麼崩潰!任何人都可以幫我嗎?
我知道,我總是用你的方法試試,但與此簽名我有一個編譯錯誤「屬性不能標記爲動態的,因爲它的類型無法表示在Objective-c「中。我需要聲明屬性動態才能被持久化,不是嗎? –
+1這個答案。你應該使用Realm的All Swift或All ObjC類。我更喜歡使用Swift類的Swift類。 – mro
@LucaDavanzo你只能爲ObjectiveC類型聲明'dynamic','List'是一個純Swift對象,不需要使用'dynamic'修飾符。它會被Realm堅持得很好。 – mro