我正在尝试使用添加按钮向表中添加行,然后可以对其进行编辑。 我得到了预期的标识符或'('代表第10,17和30行。这是代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
UILabel *lblName = (UILabel *)[cell viewWithTag:100];
[lblName setText:[intervalArray objectAtIndex:[indexPath row]]];
return cell;
}
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier];
cell.accessoryType = UITableViewCellAccessoryNone;
}
if ([indexPath section]) == 0 {
UITextField *workoutTextField = [[UITextField alloc] initWithFrame:CGRectMake(110, 10, 185, 30)];
workoutTextField.adjustsFontSizeToFitWidth = YES;
workoutTextField.textColor = [UIColor blackColor];
if ([indexPath row] == 0) {
workoutTextField.placeholder = @"...";
workoutTextField.keyboardType = UIKeyboardTypeEmailAddress;
workoutTextField.returnKeyType = UIReturnKeyNext;
}}
// Configure the cell...
return cell;
我已经尝试了你的建议,他们摆脱了所有的错误,但我仍然无法使用按钮向我的表添加行。关于如何向表中添加行的任何建议都将非常感激,这是我的第一个iOS应用程序,我对编程一般都很新。感谢您的帮助! 我使用的是OS X 10.8.3
答案 0 :(得分:3)
我认为你错在了一个括号:
if ([indexPath section]) == 0 {
你的意思是:
if ([indexPath section] == 0) {
这里的方括号括起方法调用或消息发送到indexPath
;括号括起您正在制作的条件或比较,即检查调用[indexPath section]
的结果是否等于零。
编辑:您可能还会有一个结束大括号 - 第7行的}
会关闭方法-tableView:cellForRowAtIndexPath:
的整个实现。您可能希望将其一直移到return cell;
语句下方。
答案 1 :(得分:1)
第10行和第17行的条件以及第30行的return
语句属于哪种方法?它们似乎停留在您的实现文件中,这使编译器感到困惑。
简单地移动结束-tableView:cellForRowAtIndexPath:
的大括号将修复错误,但由于您在第7行返回值(结束方法的执行),其余代码将不会执行任何操作。