Нулевое значение вызывает крах царства

Я использую Realm 0.92.3, но он потерпел крах, когда у меня есть нулевое значение, несмотря на то, что я установил свойства по умолчанию. Есть ли какое-то решение по этому поводу? Если нет, я мог бы конвертировать с использованием coredata, поскольку это очень важно для меня. Нуль будет случайным по нескольким свойствам

@interface WatchlistNews : RLMObject
@property NSString              *nid;
@property NSString              *tid;
@property NSString              *country;

@end


 @implementation WatchlistNews
 + (NSString *)primaryKey {
     return @"nid";
 }

 + (NSDictionary *)defaultPropertyValues {
     return @{@"nid" : @"", @"tid": @"", @"country": @""};
 }
 @end

Ответ данных:

nid = 509319;
tid = <null>;
country = my;

Код ошибки:

 -[NSNull UTF8String]: unrecognized selector sent to instance 0x10712b4c0 
 Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSNull UTF8String]: unrecognized selector sent to instance 0x10712b4c0'

2 ответа

Realm еще не поддерживает настройку nil за NSString свойств, но вы можете отслеживать прогресс в этом, следуя https://github.com/realm/realm-cocoa/issues/628.

Области не поддерживают сложные типы данных, поэтому, если вы попытаетесь присвоить сложное значение, такое как <null>он разбился.

Вы должны проверить ответ, который вы получаете от сервера для <null> ценности. И если он существует в ответе, замените его пустой строкой. Попробуйте следующий код в ответ, который вы получаете, чтобы удалить вхождение <null> ценности.

-(NSMutableDictionary *) removeNullFromDictionary:(NSDictionary *) originalDictionary{

NSArray *allKeysArray = [originalDictionary allKeys];
const NSMutableDictionary *replaced = [originalDictionary mutableCopy];
const id nul = [NSNull null];
const NSString *blank = @"";

for(NSString *key in allKeysArray) {

    const id object = [originalDictionary objectForKey:key];

    if(object == nul) {

        [replaced setObject:blank forKey:key];

    }
}
return [replaced copy];

}

Другие вопросы по тегам