Iphone 执行addObject,但NSMutableArray没有对象

Iphone 执行addObject,但NSMutableArray没有对象,iphone,Iphone,我尝试使用下面的to code将对象添加到NSMutableArray NSMutableArray* multipartData; - (void)processDataChunk:(NSData *)postDataChunk { if (!postHeaderOK) { UInt16 separatorBytes = 0x0A0D; NSData* separatorData = [NSData dataWithBytes:&sepa

我尝试使用下面的to code将对象添加到
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]=)