UITableViewController警告 - 帮助!

时间:2011-05-26 17:53:30

标签: iphone objective-c xcode

所以,我在下面发布我的代码。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath     // I get a warning here Incomplete method implementation //
{
    static NSString *CellIdentifier = @"Cell";

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

    // Configure the cell...
    NSLog (@"Dobby4");
    NSInteger row = [indexPath row];
    cell.text = [dogArray objectAtIndex:row];

    //I get a warning for the line above-- 'text' is deprecated //
    return cell;
}

所以,
1.我收到警告 - 该功能的方法实施不完整 我得到另一个警告'文字'已被弃用' 3.我尝试调试并试图打印一行“Dobby4” - 它不打印。

我将不胜感激。

2 个答案:

答案 0 :(得分:2)

  1. 我怀疑这个功能是做什么的。可能之前的方法。如果你把它放在代码清单中也会很好。
  2. 您不应该使用text属性来设置文本(正如警告所说,已弃用)。使用textLabelcell的子视图。这条线将是cell.textLabel.text = [dogArray objectAtIndex:row];
  3. 由于未打印Dobby4,您的numberOfSectionsInTableView:tableView:numberOfRowsInSection:都会返回0.如果不是这样,那么您还没有正确连接数据源。

答案 1 :(得分:0)

1)编译器可能在呻吟,因为方法实现可能不会出现在头文件中,反之亦然?

2)自iOS 3.0以来,UITableViewCell的.text属性确实已被弃用,所以你无法使用它,因为你肯定会瞄准更高的iOS版本。

3)也许与1)相关联。

希望这有一些帮助,请告诉我们!