Iphone 执行addObject,但NSMutableArray没有对象
我尝试使用下面的to code将对象添加到Iphone 执行addObject,但NSMutableArray没有对象,iphone,Iphone,我尝试使用下面的to code将对象添加到NSMutableArray NSMutableArray* multipartData; - (void)processDataChunk:(NSData *)postDataChunk { if (!postHeaderOK) { UInt16 separatorBytes = 0x0A0D; NSData* separatorData = [NSData dataWithBytes:&sepa
NSMutableArray
NSMutableArray* multipartData;
- (void)processDataChunk:(NSData *)postDataChunk
{
if (!postHeaderOK)
{
UInt16 separatorBytes = 0x0A0D;
NSData* separatorData = [NSData dataWithBytes:&separatorBytes length:2];
for (int i = 0; i < [postDataChunk length] - l; i++)
{
NSRange searchRange = {i, l};
if ([[postDataChunk subdataWithRange:searchRange] isEqualToData:separatorData])
{
NSRange newDataRange = {dataStartIndex, i - dataStartIndex};
dataStartIndex = i + l;
i += l - 1;
NSData *newData = [postDataChunk subdataWithRange:newDataRange];
if ([newData length])
{
[multipartData addObject:newData]; //A:set break point here
}
}
}
}
}
NSMutableArray*多部分数据;
-(void)processDataChunk:(NSData*)postDataChunk
{
如果(!postHeaderOK)
{
UInt16分离字节=0x0A0D;
NSData*separatorData=[NSData dataWithBytes:&separatorBytes长度:2];
对于(int i=0;i<[postDataChunk长度]-l;i++)
{
NSRange searchRange={i,l};
if([[postDataChunk subdataWithRange:searchRange]isEqualToData:separatorData])
{
NSRange newDataRange={dataStartIndex,i-dataStartIndex};
dataStartIndex=i+l;
i+=l-1;
NSData*newData=[postDataChunk subdataWithRange:newDataRange];
if([newData length])
{
[multipartData addObject:newData];//A:在此处设置断点
}
}
}
}
}
我将断点设置为:,并发现newData不是nil
我的代码怎么了
欢迎发表任何评论您声明的
多部分数据
,但不分配或初始化它。在添加对象之前的某个地方,您必须
NSMutableArray *multipartData = [[NSMutableArray alloc] init];
或者可能
NSMutableArray *multipartData = [[[NSMutableArray alloc] init] autorelease];
根据你的需要。但在添加或访问其中的任何内容之前,您必须分配和初始化
multipartData
。您应该初始化NSMutableArray*multipartData您需要分配数组:NSMutableArray*multipartData=[[NSMutableArray alloc]init]
甚至,NSMutableArray*multipartData=[NSMutableArray]代码>=)