gpt4 book ai didi

ios - 调用类扩展中定义的方法时无法识别的选择器

转载 作者:行者123 更新时间:2023-12-01 17:55:29 25 4
gpt4 key购买 nike

我有一个类,我在头文件中定义一个类扩展,如下所示:

@interface GCFriend : GCDataObject

@property (nonatomic, strong) NSString *firstName;
...
...
...

+ (NSOperation *)getFriendsCached:(void (^)(NSArray *cached))cached
fresh:(void (^)(BOOL success, NSArray *fresh))fresh;
@end

@interface GCFriend (Transient)

@property (nonatomic, strong) UIImage *image;

@end

现在,作为一个偏好问题,我想将该图像属性与主接口(interface)声明分开,因为它不是来自 api 的东西。但是,当我以这种方式声明它时,当我调用 getter 方法时会得到一个无法识别的选择器。这是为什么?如果我将其移至主界面声明,则没有问题。

最佳答案

那不是类扩展。那是一个类别。类扩展通常放在类的实现文件中,格式为@interface GCFriend ()。 — 空括号。您可以在类扩展中添加实例变量,但不能在类别中添加。 (这是因为类扩展是作为类的一部分编译的,而类别是单独编译和加载的。)

关于ios - 调用类扩展中定义的方法时无法识别的选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18540003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com