0

我正在做一些非常简单的事情,我想我犯了一个小错误,我可能只是在这里没有看到。我在我的 MVC 之间进行了此操作,以简单地将名称从 传输AddViewController到,MasterViewController并将其添加到MasterController. UITableView虽然,我已经“NSLogged”了整个过程的每一步,而我基本上从中得到的是输入到“名称”中的文本UITextField并没有将自身传递到我的NSString方法中,_aname.

MasterViewController此外,在某一时刻,这是有效的,我在将名称设置为from时遇到了麻烦AddViewController。因此,如果有人也可以查看该部分并确保我已正确设置所有内容,我将不胜感激。

简而言之,它看起来像这样。

主视图控制器.h

@property (nonatomic, strong) AddViewController *addViewController;

主视图控制器.m

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }

    cell.textLabel.text = [self.Name setName:name];
    NSLog(@"%@", cell.textLabel.text);

    return cell;

名称.h

- (NSString *)setName:(NSString *)name;

名称.m

- (NSString *)setName:(NSString *)name
{
    [_nameStack addObject:name];

    NSLog(@"Name set to: %@", name);

    return name;
}

添加视图控制器.m

- (void)viewDidLoad
{

    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(finalizeAdditionOfName:)];

    NSUserDefaults *nameDefault = [NSUserDefaults standardUserDefaults];
    nameInput.text = [nameDefault objectForKey:@"Name"];
}

- (IBAction)finalizeAdditionOfName:(id)sender
{
    _name = [[Name alloc] init]
    nameInput.text = _name;
    [_name setName:_aname];
    NSLog(@"Name set to (AddViewController): %@", _aname);
    [self dismissViewControllerAnimated:YES completion:NULL];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if ([indexPath section] == 0) { // Section 1
        if ([indexPath row] == 0) {
            nameInput.delegate = self;
            [nameInput setEnabled: YES];
            [cell addSubview:nameInput];
            [nameInput becomeFirstResponder]
            nameInput.text = _aname;
            NSUserDefaults *nameDefault = [NSUserDefaults standardUserDefaults];
            [nameDefault setObject:_aname forKey:@"Name"];
    }
}
4

1 回答 1

0

如果我的评论没有帮助,我制作了一个示例项目,我认为该项目显示了您如何将数据从文本字段获取到表格视图。如果您对此有任何疑问,请告诉我:

https://github.com/MaxGabriel/TextField-TableView-Example

于 2012-11-08T09:00:56.937 回答