2011-05-26 63 views
0

所以,我在下面發佈我的代碼。UITableViewController警告 - 幫助!

- (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.我收到了警告 - 不完整的方法實現了該功能。
2.我得到另一個警告「文本」已棄用'
3.我試圖調試,並試圖打印一行「Dobby4」 - 它沒有打印。

我將不勝感激。

+0

感謝您編輯Deepak。現在看起來好多了! – Legolas 2011-05-26 17:57:04

回答

2
  1. 我懷疑它是用這個函數做的。可能是之前的方法。如果你把它放在代碼清單中也會很好。
  2. 您不應該使用text屬性來設置文本(正如警告所述,不建議使用)。使用cell的子視圖textLabel。所以這條線將是cell.textLabel.text = [dogArray objectAtIndex:row];
  3. 由於它不打印Dobby4,您的numberOfSectionsInTableView:tableView:numberOfRowsInSection:返回0.如果不是這樣,那麼您沒有正確連接數據源。
+0

嗨Deepak,修正2)謝謝!我通過在控制器中打印一些隨機的東西來嘗試調試SegmentInTableView的numberof,並且確實打印了。我認爲它返回0; – Legolas 2011-05-26 18:09:52

+0

你建議我做什麼? – Legolas 2011-05-26 18:10:02

+1

在數據源中實現我在(3)中提到的兩種方法。返回1爲'numberOfSectionsInTableView:'並返回'[dogArray count]'爲'tableView:numberOfRowsInSection:'。 – 2011-05-26 18:18:50

0

1)編譯器可能會呻吟,因爲方法實現可能不會出現在您的頭文件中,反之亦然?

2)UITableViewCell的.text屬性從iOS 3.0開始確實被棄用,因此您將無法使用它,因爲您確定定位到更高的iOS版本。

3)也許與1)有關。

希望這有一些幫助,讓我們張貼!

+0

氪,關於1)和3) - 默認情況下,實現文件中包含方法實現,並且包含頭文件。 – Legolas 2011-05-26 18:05:00