好的,使用 ARC,我们如何优雅地解决这个问题?
问题出在使用 WSDL2OBJC 创建的代码上。我修复了所有其他问题,但这个问题却困扰着我。
if ([super respondsToSelector:@selector(initWithCoder:)] && ![self isKindOfClass:[super class]]) {
self = [super performSelector:@selector(initWithCoder:) withObject:decoder];
} else {
self = [super init];
}
在 WSDL2OBJC 中,他们像这样解决了这个问题:
“在目标中->构建阶段->编译源 对于所有 wsdl2objc 源添加:-fno-obcj-arc"
但这实际上并不是对代码的修复。仅阻止 WSDL2OBJC 源上的 ARC。
最佳答案
尝试这个解决方案:
self = [super performSelector:NSSelectorFromString(@"initWithCoder:") withObject:aDecoder];
关于objective-c - "PerformSelector names a selector which retains the object"错误和 ARC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10186810/