0

したがって、すべてのアイテムを含むlist.plistがあります。これらはすべて、キーと値を持つ文字列です。

'courses'をaとして宣言し、NSDictionary'courseKeys'を。として宣言しましNSArrayた。

すべてのアイテムをテーブルビューにロードするために、このコードを使用しました

私の質問は、各開始文字に独自のセクションがあり、文字間を簡単に移動できるようにするにはどうすればよいですか?

sectionIndexTitlesForTableViewを設定でき、右側のサイドバーに文字AZを表示できることは知っていますが、正しい文字に移動するにはどうすればよいですか?

- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView {
NSMutableArray *searchArray = [NSMutableArray arrayWithObjects:
                        @"A", @"B", @"C", @"D", @"E", @"F", @"G", @"H", @"I", @"J", @"K", @"L",
                        @"M", @"N", @"O", @"P", @"Q", @"R", @"S", @"T", @"U", @"V", @"W", @"X", @"Y", @"Z", nil];


return searchArray;
}
4

1 に答える 1

0

それを機能させるには、3つのテーブルビューデリゲートを実装する必要があります。簡単にするために、セミ擬似コードを書いてみます。

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

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    NSArray *courses = [self coursesInSection:section];
    return [courses count];

}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *CellIdentifier = @"Cell";

        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];

    }

       NSArray *courses = [self coursesInSection:indexPath.section];
       NSString *courseName = [courses objectAtIndex:indexPath.row];

       cell.textLabel.text = courseName;
       return cell;

}

必要なロジックに従って、-(NSArray *)coursesInSection:(NSInteger)sectionを実装するだけです。

于 2012-07-23T13:54:31.737 に答える