我正在添加子视图(带有来自另一个文件(AutocompleteTable.h和.m)的委托的UITableView)到名为AddViewController的ViewController:
AddViewController.h
#import "AutocompleteTable.h"
@property (weak, nonatomic) IBOutlet UITextField *itemName;
AddViewController.m
@interface AddViewController ()
{
AutocompleteTable *autocompleteDelegate;
}
@end
@implementation AddViewController
...
- (void)viewDidLoad
{
[super viewDidLoad];
autocompleteDelegate = [[AutocompleteTable alloc] init];
...
autocompleteTable = [[UITableView alloc] initWithFrame:CGRectMake(0, 88, 320, 120) style:UITableViewStylePlain];
autocompleteTable.delegate = (id)autocompleteDelegate;
autocompleteTable.dataSource = (id)autocompleteDelegate;
...
[self.view addSubview:autocompleteTable];
}
并在AutocompleteTable.m中我试图使用didSelectRowAtIndexPath将AddViewController的itemName.text设置为选定行的文本但不起作用:
AutocompleteTable.h
#import "AddViewController.h"
AutocompleteTable.m
@interface AutocompleteTable()
{
AddViewController *addController;
}
@end
@implementation AutocompleteTable
...
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *selectedCell = [tableView cellForRowAtIndexPath:indexPath];
addController = [[AddViewController alloc] init];
addController.itemName.text = selectedCell.textLabel.text;
self.hidden = YES;
}
有什么问题?
答案 0 :(得分:0)
这一行:
addController = [[AddViewController alloc] init];
每次选择单元格时,您实际上都在创建AddViewController的新实例。尝试获取实际在屏幕上的文本字段的引用,然后改变它。