今天写了个方法,结果老提示错误cannot assign to self outside of a method in the init family,想了半天都不知道怎么破
-(id)initwithUrlStr:(NSString *)urlStr setBlock:(void (^)(HttpDownLoadBlock *, BOOL))a
{
if (self=[superinit]) {
self.data=[NSMutableDatadataWithCapacity:0];
self.httpRequestBlock=a;
}
return self;
}
后来才知道只能在init方法中给self赋值,而Xcode判断是否为init方法规则为:方法返回id,并且名字以init+大写字母开头+其他为准则
那么将上述方法中init中后面的w改为大写W就好了,就这么简单,哈哈
2.编译时常见的错误
如果编译时老是这种错误,说明缺少libz.dylb导致的,加上就好了,该库是提供zip压缩和解压缩的库
"_inflateInit_", referenced from:
如果老是出现
std::string::reserve(unsigned long)", referenced from:
这样的错误,那么显然是编译时引用第三方的c++代码造成的,此时只需加入libzstdc++6.0.9.dylib即可,不要加入libstdc++.dylib即可,这样会减少部分错误,但是还是报错,还是得加入6.0.9的库。