我在函数中使用了下面提到的行。
NSMutableData *data = [[NSMutableData alloc] init]; 并且我调用这个函数的次数为零(例如100次)。所以我的问题是,在最初的60次或更多的时间里,它是正常工作的,但在那之后,它给了我"BAD_EXC_ACCESS“。
函数如下所示
+ (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);
}每当我收到一个文件时,我都会调用这个函数。我想从字节保存文件
发布于 2012-11-28 15:27:44
您不应在此处初始化数据:
NSMutableData *data = [[NSMutableData alloc] init];只需将变量初始化为nil即可;
NSMutableData* data = nil;发布于 2012-11-28 15:38:09
尝试将这样的数据添加到nsmutabledata
[data appendBytes:t length:_c];https://stackoverflow.com/questions/13599706
复制相似问题