Cocoa touch 从tableview单元格提取数据?

Cocoa touch 从tableview单元格提取数据?,cocoa-touch,core-data,Cocoa Touch,Core Data,上帝之夜:-D 我有一个tableview,(使用核心数据)我发布了一个带有“Todo”的单元格,比如:“5英里跑”,我将详细文本设置为@“points value@”,X是一个由滑块设置的数字,同时u设置了Todo的名称 我在单元格中添加了一个按钮,称之为add,我希望能够将详细文本中的数字添加到核心数据模型中的“totalPoints”属性中 我可以为实体发出fetchRequest,但如何确保获得该数字,以及如何在NSNumber对象中存储“pointValue”时使用简单数学 更新: 修

上帝之夜:-D

我有一个tableview,(使用核心数据)我发布了一个带有“Todo”的单元格,比如:“5英里跑”,我将详细文本设置为@“points value@”,X是一个由滑块设置的数字,同时u设置了Todo的名称

我在单元格中添加了一个按钮,称之为add,我希望能够将详细文本中的数字添加到核心数据模型中的“totalPoints”属性中

我可以为实体发出fetchRequest,但如何确保获得该数字,以及如何在NSNumber对象中存储“pointValue”时使用简单数学

更新:

修正了-D

如果在单元格中添加一个按钮,则可以得到如下结果:

- (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.
这修复了我的应用程序,现在正在进行beta测试:-p

谢谢你的帮助


Skov在您的示例代码中,有几个问题。首先,当您获得值a、b和e时,您可以这样做:

NSNumber *a = toDo.pointsValue;
(假设toDo.pointsValue是一个NSNumber)

其次,在if语句中,比较的是指针的值,而不是指针指向的对象中的值

这段代码应该有您想要的结果(我假设您以某种方式初始化toDo):

我不知道你说“我如何确保我得到那个号码”的确切意思。“那个数字”是什么数字?

“那个数字”是我为蚀刻单元设置的详细文本,所以假设5英里跑步的详细文本是10,我的toDo.goodiesPoints在“设置”视图中设置为30,平面是你需要在该单元中添加3次才能打开winView,代码集工作正常,但是,我似乎遗漏了一些东西,因为它不会在totalPoint中添加10个点,所以它只在goodiesPoints是les时才有效,而在单元格中设置的pointValue是les。
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];
}