我想要一个 Class 类型的 ivar,并在传入后保留指针。但无论我做什么,arc 都不会让我这样做。例如,如果我声明
@property (nonatomic, strong) Class myClass;
编译器决定 myClass 应该是 unsafe_unretained。如果我尝试这个:
-(id) initWithClass: (Class) passedInClass {
if ((self = [super init])) {
self.myClass = passedInClass;
}
return self;
}
发生的情况是,即使调用代码中的类不是 nil,它在 init 方法中也是 nil。
没有关闭电弧,有没有办法解决这个问题?
编辑:这个问题是错误的。它确实有效。请参阅已接受的答案。