Создание изменяемого массива я могу получить доступ в любом месте моего контроллера просмотра на iphone? - PullRequest
0 голосов
/ 24 июня 2010

Я загружаю json в список объектов, которые добавляю в NSMutableArray, который, кажется, работает нормально, за исключением того факта, что я не могу сохранить массив для доступа к нему позже.

Этомой .h:

@interface ClientController : UITableViewController {
    NSMutableData *responseData;
    NSMutableArray *ClientList;
}

@property (nonatomic, retain) NSMutableArray *ClientList;

В моем .m я добавляю:

@synthesize ClientList;

, позже у меня есть метод, который заполняет его (Client - это также и мой класс):

/* some code that parses the Json */
for (int i = 0; i < [items count]; i++) 
        {
            Client* client = [[Client alloc] init];
            client.CompanyName = [[items objectAtIndex:i] objectForKey:@"CompanyName"]; 
            client.ClientID = [[items objectAtIndex:i] objectForKey:@"ClientID"];           

            [ClientList addObject:client];

            NSLog(@"CompanyName: %@\n", client.CompanyName);
            [client release];
        }

Консоль показывает, что она работает правильно, потому что я вижу ожидаемые данные, НО, когда я это делаю, я получаю нулевое значение:

NSLog(@"Clients Count: %@\n", [ClientList count]);

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

1 Ответ

1 голос
/ 24 июня 2010

Должен инициализировать ваш ClientList, таким образом:

-(void)viewDidLoad
{
  self.ClientList = [NSMutableArray array];
}

В противном случае self.ClientList - нулевой указатель, и, как результат, [self.ClientList addObject:] - это тихий запрет, как и [self.ClientList count].

Кстати, имя "clientList", вероятно, будет предпочтительным. Нам нравится, что наши переменные начинаются с нижнего регистра в Obj-C.

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