ios - nsdata dataWithBytes 在 iOS7 上导致崩溃

标签 ios ios7 char nsdate

它仅在 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]];

有什么想法吗??

最佳答案

实际上它返回 NULL 但仅适用于 iOS7 const char *tempText = [_text cStringUsingEncoding:[NSString defaultCStringEncoding]]; NSLog(@"tex: %s", tempText);

这就是它崩溃的原因

关于ios - nsdata dataWithBytes 在 iOS7 上导致崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20143700/

相关文章:

ios - Fabric Archive 打包错误-6

ios - 从应用程序将文本文件保存在 iOS 目录中

c# - 字符串 "a"不等于 C# 中的 Char "a"?

ios - 非视网膜图像——我必须将它们添加到 xcode 中吗?

ios - Objective-C 编译器遗漏了协议(protocol)定义

ios - 在屏幕 ios7 之间转换时边缘闪烁

c++ - C++文本文件末尾的两个点

字符-ASCII 关系

javascript - 动态更改视频标签源时移动 Safari 崩溃

iphone - iOS ActivityView Twitter 错误地更改 URL 长度