现在,我有一个领域模型,包括图像,音频和其他。所以我必须获取媒体文件的URL并给出URL的模型值。但我遇到了一个问题,我无法将它们保存到这个领域。因为我无法保存NSArray,所以当我使用RLMArray来包含它们时,它也无法解决。那么如何为我的模型提供URL?
答案 0 :(得分:2)
不可能直接在Realm中添加NSURL类型,但您可以自己使用变通方法: -
@interface MyModel : JOBIBaseModel
@property (nonatomic, strong) NSString * urlString;
-(NSURL *)getUrl;
@end
@implementation MyModel
-(NSURL *)getUrl{
return [NSURL URLWithString:self.urlString];
}
@end
然后从您的对象访问它,如: -
NSURL *url=Obj.getUrl;
RLM_ARRAY_TYPE(MyArrayModel);
@interface MyArrayModel : JOBIBaseModel
@property (nonatomic, strong) NSString * urlString;
-(NSURL *)getUrl;
@end
@implementation MyArrayModel
-(NSURL *)getUrl{
return [NSURL URLWithString:self.urlString];
}
@end
@interface MyModel : JOBIBaseModel
@property (nonatomic, strong) RLMArray <MyArrayModel> * strings;
@end
@implementation MyModel
@end
并使用它: -
NSURL *url=Obj.strings[0].getUrl;