仅在iOS7上崩溃
+(PageSection *)initwithPageSection:_anchor withHeader:_subHeader withDetails:_text withPhoneNumberIfValid:(id)_phoneNo
{
const char *tempAnchor = [_anchor cStringUsingEncoding:[NSString defaultCStringEncoding]];
const char *tempSubHeader = [_subHeader cStringUsingEncoding:[NSString defaultCStringEncoding]];
const char *tempText = [_text cStringUsingEncoding:[NSString defaultCStringEncoding]];
const char *tempPhoneNo = [_phoneNo cStringUsingEncoding:[NSString defaultCStringEncoding]];
NSData *anchorData = [NSData dataWithBytes:tempAnchor length:[_anchor length]];
NSData *subHeaderData = [NSData dataWithBytes:tempSubHeader length:[_subHeader length]];
NSData *textData = [NSData dataWithBytes:tempText length:[_text length]];
NSData *phoneData = [NSData dataWithBytes:tempPhoneNo length:[(NSString *)_phoneNo length]];
PageSection *p =[[PageSection alloc]init];
p.anchorTag=[[NSString alloc] initWithData:anchorData encoding:NSUTF8StringEncoding];
p.subHeader=[[NSString alloc] initWithData:subHeaderData encoding:NSUTF8StringEncoding];
p.text=[[NSString alloc] initWithData:textData encoding:NSUTF8StringEncoding];
p.phoneNo=[[NSString alloc] initWithData:phoneData encoding:NSUTF8StringEncoding];
return p;
}
这条线路崩溃了:NSData *textData = [NSData dataWithBytes:tempText length:[_text length]];
任何想法??
答案 0 :(得分:1)
实际上它返回NULL但仅适用于iOS7 const char *tempText = [_text cStringUsingEncoding:[NSString defaultCStringEncoding]]; NSLog(@"tex: %s", tempText);
这就是它崩溃的原因
答案 1 :(得分:0)
您正在尝试访问已发布的对象。
转到您的产品>编辑方案> Diagonistic标签>启用僵尸对象。它将告诉您在释放内存后正在访问哪个对象。