2011-02-17 118 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

相关问题