将数组复制到另一个类的数组变量

时间:2011-12-15 20:26:55

标签: iphone objective-c ios5

我正在尝试将ViewController中的数组复制到Data存储类。我找到的阵列复制方法都没有实际工作。目前我有..

   //XML parser is returning an array of parsed objects
    NSMutableArray *randomtesting = [parser listArray];
    customerList.list =[[NSMutableArray alloc] initWithArray:randomtesting copyItems:YES];

    NSLog(@"First node randomtesting: %@",[randomtesting objectAtIndex:0]);
    NSLog(@"First node customerList: %@",[customerList.list objectAtIndex:0]);

第一个NSLog正确打印出值。第二个打印出Null。我也试过

customerList.list =randomtesting;

customerList.list = [paser listArray];

此类的Viewcontroller的.h如下

#import <UIKit/UIKit.h>


@class CustomerListData;

@interface ViewController : UIViewController <UIAlertViewDelegate, UITextFieldDelegate>{

    CustomerListData *customerList;

}


@property (nonatomic, retain) CustomerListData *customerList;

数组变量的类.h是

 #import <Foundation/Foundation.h>

 @interface CustomerListData : NSObject{

   NSMutableArray *list;
 }


 @property (nonatomic, retain) NSMutableArray *list;

 @end

.m只是

@synthesize list;

我相信我的所有变量声明都是正确的,我只是没有正确复制它。但我没有一种方法可行。

感谢。

1 个答案:

答案 0 :(得分:2)

您是否在任何地方初始化ViewController的customerList属性,即执行以下操作:

self.customerList = [[[CustomerListData alloc] init] autorelease];

如果没有,则此属性将为nil,并且您访问customerList.list子属性的所有尝试都将无提示失败,因为您向nil发送了Objective-C消息。