【发布时间】:2016-05-25 23:18:50
【问题描述】:
我需要在UITableViewCell 中使用UITextField。这是使用 Parse 开源,我希望它发回一个标题。所以当它调用cellForRowAtIndexPath 时,它需要做这样的事情。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath object:(PFObject *)object
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
UITextField *TextField = (UITextField *) [cell viewWithTag:284];
[TextField setReturnKeyType:UIReturnKeyDone];
[TextField addTarget:self
action:@selector(TitleTextFieldFinished:indexPath:object:)
forControlEvents:UIControlEventEditingDidEndOnExit];
TextField.text = [object objectForKey:@"Toppingname"];
return cell;
}
那么它可能会这样调用:
- (void)TitleTextField:(UITextField *)TextField:(NSIndexPath *)indexPath:(PFObject *)object
{
[TextField resignFirstResponder];
PFQuery *item = [PFQuery queryWithClassName:@"className"];
[item getObjectInBackgroundWithId:self.menuid
block:^(PFObject *title, NSError *error) {
NSString *newTitle = @"New title";
title[@"title"] = newTitle;
[title saveInBackground];
}];
}
如果有人可以提供帮助,那就太好了!
【问题讨论】:
-
仅供参考 - 方法和变量名称以小写字母开头是标准做法。类名以大写字母开头。遵循这个标准会让你的代码更容易被其他人阅读。
-
另外,您应该避免使用匿名参数名称的 Objective-C 方法名称。您建议的文本字段处理程序名为
TitleTextField::。这种命名约定加上缺少空格使您的代码很难阅读。
标签: ios objective-c uitableview uitextfield parse-server