我正在做一些非常简单的事情,我想我犯了一个小错误,我可能只是在这里没有看到。我在我的 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"];
}
}