在tableViewController上添加对象

时间:2015-07-01 00:41:56

标签: ios objective-c uitableview

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的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

您收到错误,因为没有名为tagResultView的属性。有一个mainTableViewController对象的错误链接可能指定了tagResultView。检查storyboard / xib并删除指向未定义键的任何链接(tagResultView)。当您不正确地从视图控制器中删除某些内容或重命名视图时,会发生这种情况。

要创建自动填充UITextField,我认为您不需要向另一个UITableView添加UITableView,为什么不尝试UIView或{{ 1}}对于自动填充内容包含CustomTextFieldUITextField,然后使用UITableView协议,您可以使用{{1}在任意位置显示UITextFieldDelegate }。然后,只需创建UITableView并将Autolayout添加到其中。