在我的一种方法中,我获取并解析了 aJSON
并将其放在一个NSArray
名为 jsonArray in 的-(void)method1
. 然后我将该 jsonArray 的内容复制到一个NSMutableArray
名为copyedJsonArray 以用于其他方法。问题是,每当我从其他方法在控制台中记录其内容时,copyedJsonArray 就会崩溃,-(void)method2
但它在-(void)method1
.
我怎样才能解决这个问题?
在我的头文件中:
@interface MainViewController : UIViewController
@property (nonatomic, retain) NSMutableArray *copiedJsonArray;
在我的实现文件中:
@synthesize copiedJsonArray;
- (void)viewDidLoad
{
[self method1];
}
- (void)method1
{
NSString *urlString = [NSString stringWithFormat:THE_URL];
NSURL *url = [NSURL URLWithString:urlString];
NSData *data = [NSData dataWithContentsOfURL:url];
NSString *jsonString = [[[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding] autorelease];
NSDictionary *jsonDictonary = [jsonString JSONValue];
NSArray *jsonArray = [jsonDictonary valueForKeyPath:@"QUERY.DATA"];
self.copiedJsonArray = [[NSMutableArray alloc] initWithArray:jsonArray copyItems:YES];
NSLog(@"Copied JSON Array in Method 1: %@", self.copiedJsonArray);
[self method2];
}
- (void)method2
{
NSLog(@"Copied JSON Array in Method 2: %@", self.copiedJsonArray);
}
我也尝试过这样做,但它会出现同样的错误:
copiedJsonArray = [jsonArray mutableCopy];
我也尝试过实施NSCopy
但也失败了:
@interface MainViewController : UIViewController <NSCopying>
{
NSMutableArray *copiedJsonArray;
}
我这样做是为了在用户点击我的UISegmentedControl
.