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 回答