【发布时间】:2016-10-20 10:04:02
【问题描述】:
我有一个函数,它返回从 RLMObject 派生的类的实例(可以返回不同的类实例,但都从 RLMObject 派生)
- (nullable RLMObject *)importObject:(nonnull NSDictionary *)object;
所以我目前使用它作为
Rating * realmObject = (Rating *)[self createOrImport:object];
但我知道有一种方法可以不用强制转换,只是暗示返回值是 RLMObject 的派生类,所以我可以像使用它一样
Rating * realmObject = [self createOrImport:object];
这可以通过 id 来完成,但我想更具体一点,而不是只使用 id...smth。作为
- (nullable derived RLMObject *)importObject:(nonnull NSDictionary *)object;
【问题讨论】:
-
在每个派生类中,你可以重写
importObject:并指定返回对象类,在里面调用[super createOrImport:object]? -
不,我记得有一个关键字是我偶然发现的,但找不到了
-
魔法关键字是__kindof
标签: objective-c cocoa cocoa-touch