Опитвам се да подновя екземпляр на този обект:
class MyAwesomeRealmObject: BaseRealmObject {
var field: String = ""
var thing: String = ""
var whatever: String = ""
var something: String = ""
var key: String = ""
var cards = [OtherRealmObject]()//wasnt this either
override static func primaryKey() -> String? {
return "key"
}
// override static func ignoredProperties() -> [AnyObject] {
// return ["id"] //this didnt work either
// }
}
Това е родителският клас
class BaseRealmObject: Object {
//nothing really here, just extending realm's Object
}
И получавам това изключение по време на изпълнение.
2015-08-19 10:03:53.388 app[84571:2188559] *** Terminating app due to uncaught exception 'RLMException', reason: 'Can't persist property 'id' with incompatible type. Add to ignoredPropertyNames: method to ignore.'
*** First throw call stack:
(
0 CoreFoundation 0x0000000110913c65 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x00000001105acbb7 objc_exception_throw + 45
2 Realm 0x000000010ff0d786 -[RLMProperty initSwiftPropertyWithName:indexed:property:instance:] + 879
3 Realm 0x000000010ff064e6 +[RLMObjectSchema propertiesForClass:isSwift:] + 519
4 Realm 0x000000010ff056b6 +[RLMObjectSchema schemaForObjectClass:] + 419
5 Realm 0x000000010ff3de12 +[RLMSchema initialize] + 805
6 libobjc.A.dylib 0x00000001105ad4d6 _class_initialize + 648
7 libobjc.A.dylib 0x00000001105b66e1 lookUpImpOrForward + 351
8 libobjc.A.dylib 0x00000001105c30d3 objc_msgSend + 211
9 Realm 0x000000010ff02c44 -[RLMObjectBase init] + 112
10 RealmSwift 0x000000010ce29573 _TFC10RealmSwift6ObjectcfMS0_FT_S0_ + 67
11 realmio 0x000000010c0c3741 _TFC7realmio11RealmObjectcfMS0_FT_S0_ + 17
12 realmio 0x000000010c0b4aa5 _TFC7realmio8UserDatacfMS0_FT_S0_ + 309
13 realmio 0x000000010c0b495c _TFC7realmio8UserDataCfMS0_FT_S0_ + 44
14 realmio 0x000000010c0be05d _TFC7realmio18UserDataSerializer13provideObjectfS0_FT_PSs9AnyObject_ + 29
15 realmio 0x000000010c0a49cf _TFC7realmio14DataSerializer3mapfS0_FTCSo12NSDictionary7successFT6objectPSs9AnyObject__T_18dataStructureErrorFT_T__T_ + 175
16 realmio 0x000000010c0a508b _TTWC7realmio14DataSerializerS_15IDataSerializerS_FS1_3mapUS1___fQPS1_FTCSo12NSDictionary7successFT6objectPSs9AnyObject__T_18dataStructureErrorFT_T__T_ + 91
17 realmio 0x000000010c138010 _TFFC7realmio15BaseDataService7executeFS0_FTFPSs9AnyObject_T_23handlesFailedValidationFGSaSS_T__T_U_FCSo12NSDictionaryT_ + 560
18 realmio 0x000000010c26798b _TFFC7realmio3API8dispatchFS0_FT_T_U_FTCSo12NSURLRequestGSqCSo17NSHTTPURLResponse_GSqPSs9AnyObject__GSqCSo7NSError__T_ + 1355
19 realmio 0x000000010c0f156e _TFFC7realmio7Request12responseJSONFDS0_FT7optionsVSC20NSJSONReadingOptions17completionHandlerFTCSo12NSURLRequestGSqCSo17NSHTTPURLResponse_GSqPSs9AnyObject__GSqCSo7NSError__T__DS0_U_FTS2_GSqS3__GSqPS4___GSqS5___T_ + 126
20 realmio 0x000000010c0e8493 _TFFFC7realmio7Request8responseFDS0_FT5queueGSqCSo8NSObject_10serializerFTCSo12NSURLRequestGSqCSo17NSHTTPURLResponse_GSqCSo6NSData__TGSqPSs9AnyObject__GSqCSo7NSError__17completionHandlerFTS2_GSqS3__GSqPS5___GSqS6___T__DS0_U_FT_T_U_FT_T_ + 403
21 realmio 0x000000010c0a7c77 _TTRXFo__dT__XFdCb__dT__ + 39
22 libdispatch.dylib 0x00000001112c3186 _dispatch_call_block_and_release + 12
23 libdispatch.dylib 0x00000001112e2614 _dispatch_client_callout + 8
24 libdispatch.dylib 0x00000001112caa1c _dispatch_main_queue_callback_4CF + 1664
25 CoreFoundation 0x000000011087b1f9 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9
26 CoreFoundation 0x000000011083cdcb __CFRunLoopRun + 2043
27 CoreFoundation 0x000000011083c366 CFRunLoopRunSpecific + 470
28 GraphicsServices 0x0000000112a71a3e GSEventRunModal + 161
29 UIKit 0x000000010da098c0 UIApplicationMain + 1282
30 realmio 0x000000010c1da607 main + 135
31 libdyld.dylib 0x0000000111316145 start + 1
)
Нямам събитие с име на поле „id“. Добавих го към ignoredProperties()
, не знам какво друго да направя.
РЕДАКТИРАНЕ: Случва се дори без никакви полета в обекта
Опитах се да добавя модификатора dynamic
, но това не проработи. Просто отстранявам още неизправности, изтрих всички полета.
class MyAwesomeRealmObject: RLMObject {
}
И все още получавам изключение по време на изпълнение относно „id“.
РЕДАКТИРАНЕ 2: Повече информация за изключението
Чудя се дали това ще хвърли малко светлина върху това
2015-08-19 12:27:51.658 realmio[5728:52676] Exception name=RLMException, reason=Can't persist property 'id' with incompatible type. Add to ignoredPropertyNames: method to ignore., userInfo={
RLMRealmCoreVersion = unknown;
RLMRealmVersion = "0.94.1";
} addresses=(0x112f16c4d 0x112bafbb7 0x111e36786 0x111e2f4e6 0x111e2e6b6 0x111e66e12 0x112bb04d6 0x112bb96e1 0x112bc60d3 0x111e2bc44 0x111e2ab6d 0x10e6b6b21 0x10e6b6b5c 0x10e6bfe6d 0x10e6a76ef 0x10e6a7dab 0x10e73a340 0x10e86ba1b 0x10e6f3a1e 0x10e6ea943 0x10e6aa997 0x113fab186 0x113fca614 0x113fb2a1c 0x112e7e1f9 0x112e3fdcb 0x112e3f366 0x114390a3e 0x10ffad8c0 0x10e7ddcc7 0x113ffe145)
RLMRealmCoreVersion = неизвестен. Хммм