Iphone NSArray и разделы - PullRequest
1 голос
/ 17 марта 2011

В настоящее время я занимаюсь разработкой приложения для показа матчей на футбольном соревновании с использованием данных, хранящихся в NSArrays. Теперь я хотел бы поместить данные в раздел, то есть, например, 1-й раунд с 3 матчами, 2-й раунд с 6 матчами и т. Д.

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

С уважением John

Ответы [ 3 ]

3 голосов
/ 17 марта 2011

Я обычно использую NSArrays в NSArray для этого.

Вот так я бы создал массив источника данных:

NSArray *section0 = [NSArray arrayWithObjects:@"Section 0 Row 0", @"Section 0 Row 1", nil];
NSArray *section1 = [NSArray arrayWithObjects:@"Section 1 Row 0", @"Section 1 Row 1", @"Section 1 Row 2", nil];
self.tableViewData = [NSArray arrayWithObjects:section0, section1, nil];

и некоторые методы UITableView, чтобы вы поняли:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return [self.tableViewData count];
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return [[self.tableViewData objectAtIndex:section] count];
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    MyObject *object = [[self.tableViewData objectAtIndex:indexPath.section] objectAtIndex:indexPath.row];
    // Do something
} 

А для заголовков (и индексов) разделов я создаю отдельные NSArrays.

1 голос
/ 17 марта 2011

лучше создать Array of Array. Предположим, у вас есть 3 раздела, и каждый раздел имеет 4 строки. поэтому создайте один массив с тремя объектами массива. И каждый внутренний массив будет содержать значение строк

0 голосов
/ 17 марта 2011

Вам необходимо создать класс, соответствующий протоколу UITableViewDataSource . Этот класс обычно является подклассом UIViewController . Затем вы должны установить свойство dataSource UITableView , чтобы оно указывало на экземпляр этого класса. Ваш класс источника данных должен реализовывать метод в протоколе, так как он возвращает значения, основанные на данных в вашей модели (следовательно, это класс контроллера). Если это помогает, вы также можете использовать UIViewController подкласс UITableViewController .

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