Доступ к сенсорным массивам Objective-C / Cocoa - PullRequest
0 голосов
/ 20 июля 2009

Я использую Cocoa Touch для создания приложения для iPhone.

У меня есть NSMutableArray под названием story, который при печати на консоли отображает что-то вроде этого:

2009-07-20 12:38:30.541 testapp[4797:20b] (
    {
    link = "http://www.testing.com";
    message = "testing";
    username = "test";
},
    {
    link = "http://www.testing2.com";
    message = "testing2";
    username = "test2";
} )

Мой вопрос: как я могу перебрать массив и, например, вывести значение 'link' каждый раз? В PHP я знаком с простым переходом массива [item] - есть ли подобный способ в Objective-C? Я хотел бы перебрать массив, чтобы в конечном итоге выбросить данные в UITableView.

Заранее спасибо.

Benji

1 Ответ

0 голосов
/ 20 июля 2009

Я думаю, что вы объединяете 2 вещи здесь. Вы хотите знать, как перебирать коллекцию (в данном случае массив), и как искать ключ в словаре.

Objective C обеспечивает цикл итерации коллекции "for (OBJECT in COLLECTION)", к которому будет проходить цикл по каждому объекту в массиве или словаре (в случае словаря он возвращает ключ, который сопоставляется с объектом) .

В случае вашего массива каждый из элементов представляет собой словарь, поэтому мы можем использовать NSDictionary -objectForKey: чтобы узнать значение ссылки и напечатать его:

for (NSDictionary *story in stories) {
  NSLog(@"%@", [story objectForKey:@"link"]);
}
...