- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Product
带有标题的模型:
@interface Product : RLMObject <NSCopying,NSCoding>
{
}
@property (nonatomic, strong) NSString *title;
@property (nonatomic, strong) NSString *thumbnailURL;
@property (nonatomic, strong) UIImage *thumbnail;
-(id)initWithInfo:(NSDictionary*)dictionary;
-(UIImage*)getThumbnail;
@implementation Product
-(id)initWithInfo:(NSDictionary*)dictionary
{
self = [self init];
if (self) {
_title = dictionary[@"title"];
_thumbnailURL = dictionary[@"thumbnailURL"];
_thumbnail = [self getThumbnail];
}
return self;
}
-(UIImage*)getThumbnail
{
if (_thumbnail) {
return _thumbnail;
}
//load image from cache
return [self loadImageFromCache];
}
Product
对象并将其插入
Realm
,我总是得到异常
[RLMStandalone_Product getThumbnail]: unrecognized selector sent to instance 0xcd848f0'
_thumbnail = [self getThumbnail];
它工作正常。但后来我得到另一个异常(exception)
[RLMStandalone_Product title]: unrecognized selector sent to instance 0xd06d5f0'
Product
主线程中的对象,所以使用它的属性和方法应该没问题,不是吗?
最佳答案
因为 Realm 对象属性是由数据库而不是内存中的 ivars 支持的,所以不支持访问这些属性的 ivars。我们目前正在澄清我们的文档以传达这一点:
Please note that you can only use an object on the thread from which is was created or obtained, ivars shouldn't be accessed directly for any persisted properties, and that getters and setters for persisted properties cannot be overridden.
@interface Product : RLMObject
@property NSString *title;
@property NSString *thumbnailURL;
@property (nonatomic, strong) UIImage *thumbnail;
@end
@implementation Product
-(UIImage*)thumbnail
{
if (!_thumbnail) {
_thumbnail = [self loadImageFromCache];
}
return _thumbnail;
}
-(UIImage*)loadImageFromCache
{
// Load image from cache
return nil;
}
+(NSArray*)ignoredProperties
{
// Must ignore thumbnail because Realm can't persist UIImage properties
return @[@"thumbnail"];
}
@end
[[RLMRealm defaultRealm] transactionWithBlock:^{
// createInDefaultRealmWithObject: will populate object keypaths from NSDictionary keys and values
// i.e. title and thumbnailURL
[Product createInDefaultRealmWithObject:@{@"title": @"a", @"thumbnailURL": @"http://example.com/image.jpg"}];
}];
NSLog(@"first product's image: %@", [(Product *)[[Product allObjects] firstObject] thumbnail]);
initWithInfo
没有必要,因为
RLMObject
已经有
initWithObject:
和
createInDefaultRealmWithObject:
已经这样做了。
关于ios - RLMObject 无法用作普通对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25439713/
我有一个 Product带有标题的模型: @interface Product : RLMObject { } @property (nonatomic, strong) NSString *tit
我有一个 RLMObject,我希望从底层 tightdb 刷新它。我不一定需要刷新该 Realm 上的所有对象(即 [[myObject realm] refresh]),因为这感觉有点矫枉过正:我
在我的应用程序中,我有一个继承自 RLMObject 的 CustomUser。 我想知道如何只为这个 CustomUser 对象存储 1 个对象? func saveUser() { le
开始使用 Realm 作为我的应用程序的存储层。这就是我试图解决的场景 场景:我从服务器获取一大堆数据。我将每条数据转换为 RLMObject。我想最后“保存”到持久存储。在这之间,我希望这些 RLM
我对 Realm 还很陌生,正在考虑在特定项目中放弃 CoreData 堆栈,转而使用它,因为我大多只需要本地存储 - Realm 至少在纸面上感觉是完美的匹配。我面临的问题是,我无法找到一种方法来修
使用 RealmSwift 执行此操作的正确方法是什么,它曾经是 RLMobject var stream:Results stream = Realm().objects(streams) 第一个作
我正在尝试以编程方式获取 RLMObject 的属性列表,如下所示: MyRLMObject *myRLMObject = [[MyRLMObject alloc] init]; unsigned i
例如,有一只狗和一只猫对象,它们都有相同的属性“所有者”,我如何删除数据库中具有相同所有者的所有狗和猫?我必须单独删除它们吗?这让我很困扰,因为我需要根据对象都拥有的属性一次删除如此多的对象。 最佳答
我有将 RLMObject 子类保存到 Realm 数据库的代码。此代码有效,我已使用 Realm 浏览器验证它是否按预期保存。 然后我想在 Realm 数据库中查询我保存的这个对象,我想将它转换为我
我目前正在开发一款使用 Realm 作为后端数据存储的 iOS 应用。我有一个类,它是用户配置文件的 RLMObject。它存储他们的姓名、个人资料图片、统计信息等。 应该总是只有这些对象之一,但我知
本质上,我有一个 UITableView,其中的单元格有一个 UITextField,对应于 RLMObject 中的属性(比方说 10 多个属性)。我只允许用户在编辑模式下编辑字段(通过禁用用户交互
我在测试 Realm 时遇到问题。如果我将我的目标文件包含到测试目标中,我会在执行测试时收到此错误: file:///path/project-iOS/project-iOS/DataManag
我知道 RLMObjects 不能存储 NSDecimalNumber。为了解决这个问题,我尝试了以下方法,但失败了: private dynamic var _amount: Stri
我写过这样的代码来监听 Post 对象的变化。 notification = Post.allObjects(in: RLMRealm.encryptedRealm()! as! RLMRea
我有一个包含 10000 个 RLMObject 的 RLMArray,可以根据按钮触摸事件按它们的属性对其进行排序。 我想通过 GCD 将排序过程踢回后台线程,并保持 UI 流畅。 Realm 不是
我在我的新 iOS 项目中使用 Realm。我正在像这样插入新的 RLMObject: let realm = RLMRealm.defaultRealm() var route = Route()
我在我的项目中同时使用了 ObjectMapper ( https://github.com/Hearst-DD/ObjectMapper ) 和 Realm。我的对象都是RLMObjects; 例如
我想在 dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0) 中更新 RLMObject 并在 dispatch_get_main
我正在开发一个以 Realm.io 作为持久存储的 iOS 应用程序。我刚刚通过添加主键更新了我的自定义 RLMObject 子类之一。 当我运行该应用程序时,我收到一条错误消息,提示我需要添加迁移步
Realm 支持 UIColors 吗? 如何向 RLMObject 的子类添加 UIColor 属性?推荐的方法是什么? 感谢您的帮助! 最佳答案 Realm 不直接支持读写 UIColor 对象。
我是一名优秀的程序员,十分优秀!