gpt4 book ai didi

iphone - Objective C——缩小子类中的实例变量类型?

转载 作者:可可西里 更新时间:2023-11-01 06:12:45 24 4
gpt4 key购买 nike

是否可以缩小子类中允许的 ivar 类型。像这样:

@interface person: NSObject {
NSArray *friendArray;
}

@interface mutablePerson: person {
NSMutableArray *friendArray;
}

我刚刚尝试了那个确切的代码,Xcode 给了我一个编译错误。我想知道是否有解决方法。

我正在做的项目会有很多这种情况。我知道我可以使用转换来使代码工作。但如果这样做,我将进行大量转换,我想知道是否有更好的方法。

最佳答案

不,您根本不能重新声明 ivar。但是,您可以在不创建新 ivar 的情况下创建新的基于方法的属性。

@property (nonatomic, copy) NSMutableArray* mutableFriends;

@implementation MutablePerson

- (NSMutableArray*)mutableFriends {
return (NSMutableArray*)friendArray;
}

- (void)setMutableFriends:(NSMutableArray*)friends {
self.friendsArray = [friends mutableCopy];
}

@end

关于iphone - Objective C——缩小子类中的实例变量类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4248066/

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