首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS NSMutableData *data = [[NSMutableData alloc] init];崩溃

iOS NSMutableData *data = [[NSMutableData alloc] init];崩溃
EN

Stack Overflow用户
提问于 2012-11-28 15:11:57
回答 2查看 3.3K关注 0票数 3

我在函数中使用了下面提到的行。

代码语言:javascript
复制
NSMutableData *data = [[NSMutableData alloc] init];  

并且我调用这个函数的次数为零(例如100次)。所以我的问题是,在最初的60次或更多的时间里,它是正常工作的,但在那之后,它给了我"BAD_EXC_ACCESS“。

函数如下所示

代码语言:javascript
复制
+ (NSString *) recvToFile:(NSString *)_fileName {

@try {
    int _sz = [self recvNumber:4];
    uint8_t t[_sz];
    NSMutableData *data = [[NSMutableData alloc] init];
    NSMutableData *fileData = [[NSMutableData alloc] init];
        long _pos = 0;
        NSString *_fullPath = _fileName;
        while (_sz > _pos) {
            long _c = [m_sin read:t maxLength:_sz];
            _pos += _c;
            data = [NSData dataWithBytes:t length:_c];
            if([Misc checkFileExists:_fileName]==nil)
                [[NSFileManager defaultManager] createFileAtPath:_fullPath contents:nil attributes:nil];
            [fileData appendData:data];
        }
    [fileData writeToFile:_fullPath atomically:YES];
    NSDictionary *attr = [[NSFileManager defaultManager] attributesOfItemAtPath:_fullPath error:nil];

    long long length = [[attr valueForKey:@"NSFileSize"] intValue];
    if (length >= _sz)
        return (_fullPath);
}
@catch (NSException * e) {
}
return (nil);
}

每当我收到一个文件时,我都会调用这个函数。我想从字节保存文件

EN

回答 2

Stack Overflow用户

发布于 2012-11-28 15:27:44

您不应在此处初始化数据:

代码语言:javascript
复制
NSMutableData *data = [[NSMutableData alloc] init];

只需将变量初始化为nil即可;

代码语言:javascript
复制
NSMutableData* data = nil;
票数 0
EN

Stack Overflow用户

发布于 2012-11-28 15:38:09

尝试将这样的数据添加到nsmutabledata

代码语言:javascript
复制
    [data appendBytes:t length:_c];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13599706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档