在sysctl
我有storyboard
。我想在static UItableViewController
之上添加tableView
。所以我创建了一个自定义类,它是tableVC
的子类。这是代码:
UITableViewController
然后在主- (void)viewDidLoad {
[super viewDidLoad];
self.tableView.bounds = self.textField.bounds;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
// -----------------------------------------------------------------------------
#pragma mark - TableView delegate
// -----------------------------------------------------------------------------
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [self.resultArray count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellID = @"cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID];
}
[cell.textLabel setText:self.resultArray [indexPath.row]];
return cell;
}
课程中,我做了以下几点:
viewControllers
当我运行应用程序时,收到以下错误消息:
resultTableVC *tableView = [[resultTableVC alloc] initWithStyle:UITableViewStylePlain];
tableView.textField = self.tagsTextField;
[self.view addSubview:tableView.tableView];
我不知道错误意味着什么,或者如何解决它。 (如果这不正确)在现有Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<mainTableViewController 0x7fe35a550530> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key tagResultView.'
*** First throw call stack:
(
0 CoreFoundation 0x0000000102182c65 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x0000000101e1bbb7 objc_exception_throw + 45
2 CoreFoundation 0x00000001021828a9 -[NSException raise] + 9
3 Foundation 0x00000001019b1b53 -[NSObject(NSKeyValueCoding) setValue:forKey:] + 259
4 CoreFoundation 0x00000001020cad50 -[NSArray makeObjectsPerformSelector:] + 224
5 UIKit 0x0000000102a9552b -[UINib instantiateWithOwner:options:] + 1506
6 UIKit 0x00000001028ed718 -[UIViewController _loadViewFromNibNamed:bundle:] + 242
7 UIKit 0x00000001028edd08 -[UIViewController loadView] + 109
8 UIKit 0x0000000102ab1df8 -[UITableViewController loadView] + 76
9 UIKit 0x00000001028edf79 -[UIViewController loadViewIfRequired] + 75
10 UIKit 0x00000001028ee40e -[UIViewController view] + 27
11 UIKit 0x0000000102ab1b73 -[UITableViewController tableView] + 30
12 UIKit 0x0000000102ab25ba -[UITableViewController _viewControllerWasSelected] + 22
13 UIKit 0x000000010292cf46 -[UITabBarController viewDidAppear:] + 140
14 UIKit 0x00000001028f1ff1 -[UIViewController _setViewAppearState:isAnimating:] + 567
15 UIKit 0x00000001028f2b3b -[UIViewController _executeAfterAppearanceBlock] + 52
16 UIKit 0x00000001027e162c _applyBlockToCFArrayCopiedToStack + 314
17 UIKit 0x00000001027e14c5 _afterCACommitHandler + 564
18 CoreFoundation 0x00000001020b5ca7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
19 CoreFoundation 0x00000001020b5c00 __CFRunLoopDoObservers + 368
20 CoreFoundation 0x00000001020aba33 __CFRunLoopRun + 1123
21 CoreFoundation 0x00000001020ab366 CFRunLoopRunSpecific + 470
22 GraphicsServices 0x0000000105fe8a3e GSEventRunModal + 161
23 UIKit 0x00000001027bd900 UIApplicationMain + 1282
24 myBudget 0x00000001013a852f main + 111
25 libdyld.dylib 0x0000000103bd9145 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
之上添加tableView
的正确方法是什么?
答案 0 :(得分:1)
您收到错误,因为没有名为tagResultView
的属性。有一个mainTableViewController
对象的错误链接可能指定了tagResultView。检查storyboard / xib并删除指向未定义键的任何链接(tagResultView
)。当您不正确地从视图控制器中删除某些内容或重命名视图时,会发生这种情况。
要创建自动填充UITextField
,我认为您不需要向另一个UITableView
添加UITableView
,为什么不尝试UIView
或{{ 1}}对于自动填充内容包含CustomTextField
和UITextField
,然后使用UITableView
协议,您可以使用{{1}在任意位置显示UITextFieldDelegate
}。然后,只需创建UITableView
并将Autolayout
添加到其中。