2011-02-17 164 views
0

上午晚上:-D從tableview單元格中提取數據?

我有一個tableview,(使用核心數據)我發佈一個「Todo」的單元格,例如:「5英里運行」,我將詳細文本設置爲@「points value @」 ,X代表x是由滑塊設置的數字,同時你爲Todo設置名稱。

我已經在單元格中放入了一個按鈕,並將它稱爲添加,並且我希望能夠將詳細文本中的該數字添加到我的核心數據模型中的「totalPoints」屬性中。

我可以爲實體做一個fetchRequest,但是如何確保我得到那個數字,以及當「pointValue」存儲在NSNumber對象中時如何使用簡單的數學運算。

更新:

固定它:-D

如果u按鈕添加到您的細胞,U可以得到indexPath這樣的:

- (IBAction)buttonTapped:(id)sender { 


if (![sender isKindOfClass: [UIButton class]]) return; 

UITableViewCell *cell = (UITableViewCell *)[sender superview]; 
if (![cell isKindOfClass: [UITableViewCell class]]) return; 

NSIndexPath *indexPath = [self.tableView indexPathForCell: cell]; 

// do something with indexPath.row and/or indexPath.section. 

這個固定我的應用程序,它現在處於測試階段:-P

感謝您的幫助

Skov

回答

0

在您的示例代碼中,有幾個問題。首先,當你所得到的值,B和E,你可以只是這樣做:

NSNumber *a = toDo.pointsValue; 

(假設toDo.pointsValue是一個NSNumber)。

其次,在您的if語句中,您正在比較指針的值,而不是指針指向的對象中的值。

此代碼應該有你想要的結果(我假設你以某種方式初始化TODO):

ToDo *toDo; 
CGFloat x = [toDo.pointsValue floatValue] + [toDo.totalPoint floatValue]; 
//Note: it is better to use CGFloat rather than plain float 
CGFloat y = [toDo.goodiesPoints floatValue]; 
if (x >= y) 
{ 
    [self performSelector:@selector(winView) 
       withObject:nil 
       afterDelay:0.5]; 
} 

我不知道你的意思到底是什麼,當你說「我如何確保我得到那個號碼「。什麼號碼是「那個號碼」?

+0

「that number」是我爲蝕刻單元設置的詳細文本,因此可以說5英里運行的詳細文本是10,我的toDo.goodiesPoints在設置視圖中設置爲30,飛機是你需要的要在該單元格中添加3次以打開winView,代碼u set工作正常,但是,我似乎缺少一些東西,請使用它不要添加10點到totalPoint,所以它只適用於goodiesPoints是那麼pointValue設置在細胞中。 – Skovie 2011-02-18 14:26:35

相關問題