1

以下にコードを貼り付けて、コードから何を判断しようとしたかを説明します。

これをすばやく読んでいる場合は、次のコード ブロックのすぐ上のテキストから始めてください。

- (void)tableViewDidLoadModel:(UITableView*)tableView {
self.items = [NSMutableArray array];
self.sections = [NSMutableArray array];

NSMutableDictionary *groups = [NSMutableDictionary dictionary];

for (int c = 0;c < [_contacts.people count];c++) {
    NSDictionary *person = [_contacts.people objectAtIndex:c];
    NSString *name = [person objectForKey:@"fullName"];
    NSString *letter = [name substringToIndex:1];
    NSMutableArray *section = [groups objectForKey:letter];
    NSLog(@"%@ - %@ - %@", name, [person objectForKey:@"index"], [person objectForKey:@"abId"]);
    if (!section) {
        section = [NSMutableArray array];
        [groups setObject:section forKey:letter];
    }

    TTTableItem *item = [ttItem itemWithText:name URL:[person objectForKey:@"index"]];
    [section addObject:item];
}

他の誰かがこのコード ブロックを書きました。私が判断できることから、彼らはユーザーの連絡先を取得してTableView.

今、私の本当の質問は、その最後の行に関係しています:

TTTableItem *item = [ttItem itemWithText:name URL:[person objectForKey:@"index"]];
    [section addObject:item];

これは Three20 フレームワークを使用しています。どうやら、以前の開発者が行ったことはTTTableItem、事前にフォーマットされUITableViewCellた . (うまくいけば、私は正しいと思いますか?) このコード行を通常のものに置き換える必要があります。を使用することだけを考えましUITableViewCellたが、それ以外は、どのように開始すればよいかよくわかりません。

4

1 に答える 1

2

-tableViewDidLoadModel:は TTTableViewDataSource プロトコルに由来するメソッドであるため、プロジェクトから Three20 を削除しようとしている場合は、TTTableItem を置き換えるだけでなく、さらに多くのことを行う必要があります。

TTTableItemは NSObject のサブクラスであり、追加されているように見えるのはuserInfoプロパティだけです。それを取り除くには、同じプロパティを持つ独自のクラスを作成することから始めることができます。

于 2012-04-30T04:49:25.213 に答える