2012-01-26 2 views
0

Проведен поиск, но не может найти то, что я ищу В основном я загружаю значения в nsmutablearray одним методом, а затем я хочу получить доступ к этим значениям в другом методе для их печати таблица я объявил массив в app.hxcode global nsmutablearray, который сохраняет значения

NSMutableArray *clients;

Тогда в app.m

- (void)connectionDidFinishLoading:(NSURLConnection *)connection { 
     [connection release]; 
     NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding]; 
     [responseData release]; 
     NSArray *results = [responseString JSONValue]; 
     clients = [[NSMutableArray alloc]init]; 

     // Loop through each entry and add clients to array 
     for (NSDictionary *entry in results) 
     { 
      if (![clients containsObject:[entry objectForKey:@"client"]]) 
      { 
       [clients addObject:[entry objectForKey:@"client"]]; 
      } 
     } 
} 

Теперь я пытаюсь Acces массив клиентов в другой метод Я видел некоторые предложения по использованию extern в app.h? Какая-то глобальная переменная?

Любая помощь будет оценена

Благодаря

ответ

1

Возьмите массив клиентов в приложение делегата class.declare свойство, синтезирует в приложение делегата class.Then в поле ниже метод записи, как это.

- (void)connectionDidFinishLoading:(NSURLConnection *)connection { 
     [connection release]; 

YourApplicationDelegate * Делегат = [UIApplication sharedApplication] делегат];

NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding]; 
    [responseData release]; 
    NSArray *results = [responseString JSONValue]; 

     clients = [[NSMutableArray alloc]init]; 

     // Loop through each entry and add clients to array 
     for (NSDictionary *entry in results) 
     { 
      if (![clients containsObject:[entry objectForKey:@"client"]]) 
      { 
       [delegate.clients addObject:[entry objectForKey:@"client"]]; 
      } 
     } 

} 

после этого предположим, что если вы хотите использовать массив клиентов в другом классе, сделайте это.

YourApplicationDelegate *delegate = [UIApplication sharedApplication]delegate]; 
NSLog(@"client array is %@",delegate.clients); 
+0

Спасибо большое! Gna попробуйте сейчас –

+0

Это все в классе delegate.m? Спасибо –

+0

Не понимаю – Tendulkar