タイプ NSData の「image」プロパティで定義された Realm クラスがあります。+defaultPropertyValues メソッドの NSDictionary 戻り値で「image」のデフォルト値を次のように設定しました。
@"image":[NSNull null]
. これは、画像の値が設定されていないことを示します。
ただし、Realm オブジェクトを保存すると、次のエラーでプログラムがクラッシュします。
[NSNull UTF8String]: unrecognized selector sent to instance 0x10abe9ce0
Realm オブジェクトの NSData プロパティに nil 値が許可されていないかどうか教えてください。もしそうなら、空の NSData プロパティを表す別の方法はありますか?
nil 以外の NSData 値が設定されている場合、この問題は発生しません。
前もって感謝します
更新: コード:
Item.h
@interface UploadImage : RLMObject
@property uploadImage:NSData
@end
Item.m
+ (NSDictionary *)defaultPropertyValues
{
return @{@"uploadImage":[NSNull null]...};
}
uploadImage が nil に設定されているか、NSDictionary からデフォルト値を取得すると、エラーが発生します。私が使用した回避策は、次を使用して0バイトのNSDataを作成することでした["" dataUsingEncoding:NSUTF8StringEncoding]