好的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 ..
答案 0 :(得分:2)
试试这个解决方案:
self = [super performSelector:NSSelectorFromString(@"initWithCoder:") withObject:aDecoder];
答案 1 :(得分:0)
如果你知道超类,你不能简单地放弃这个混乱并直接调用适当的初始化器吗?
答案 2 :(得分:0)
我决定放弃WSDL2OBJC上的ARC并使用编译器标志