В одном из моих методов я извлек и проанализировал JSON
и разместил его внутри NSArray
под названием jsonArray в -(void)method1
. Затем я скопировал содержимое этого jsonArray в NSMutableArray
с именем copiedJsonArray, который будет использоваться для других методов. Проблема в том, что copiedJsonArray сработает всякий раз, когда я регистрирую его содержимое в консоли из других методов -(void)method2
, но он регистрируется в -(void)method1
. Может ли кто-нибудь помочь мне в том, как это исправить?Ошибка чтения скопированного NSMutableArray на iPhone SDK
В моем файле заголовка:
@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;
}
Я делаю это так, чтобы я мог сделать цикл в моем copiedJsonArray, не получая его содержимое из JSON снова и снова, когда пользователь нажимает на мой UISegmentedControl
. Любая помощь будет оценена по достоинству. Заранее спасибо.
[Вы используете ARC или нет?] (Http://stackoverflow.com/questions/10508228/how-to-know-if- my-xcode-iphone-project-is-using-arc) Также опубликуйте свой реальный код; вышеупомянутый 'method1' не будет работать, потому что' jsonDictonary' (sic) не был объявлен. –
Я не использую ARC. Будет ли редактировать мой пост с кодом для jsonDictionary, если это поможет. – jaytrixz
Опубликовать полную консольную ошибку. Msg. Не экстрасенс! – occulus