如何从viewcontroller调用Delegate到tableview

时间:2012-08-28 11:28:39

标签: objective-c ios cocoa-touch uiviewcontroller delegates

我将TableView作为我的MainView,将viewcontroller作为我的第二个视图。视图控制器有3个文本域..我正在编写协议,以便我可以获取Textfileds的值并可以添加到Tableview的数组中。目的是无论我在textfield中给出什么,都必须添加到Table单元格中。 我有secondviewcontroller.h

@property (nonatomic,assign) id<secondviewcontrollerDelegate> delegate;

 @protocol secondviewcontrollerDelegate<NSObject>
- (void)additemsintoarray;
@end

secondviewcontroller.m

-(IBAction)ok:(id)sender
{
    [self.delegate additemsintoarray];
}

在Tableview.h中

@interface RootViewController : UITableViewController<secondviewcontrollerDelegate> 
tableview.m中的

- (void)additemsintoarray
{
    [self.array1 insertObject:scontroller.iditem1.text atIndex:[array1 count]];
    [self.array1 insertObject:scontroller.nameitem1.text atIndex:[array1 count]];
    [self.array1 insertObject:scontroller.iditem1.text atIndex:[array1 count]];
    [[self navigationController]popViewControllerAnimated:YES];
}

注意:数组在Tableview中声明了一些值....
我收到一个错误:

  

由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'*** - [UIView additemsintoarray:]:无法识别的选择器发送到实例

1 个答案:

答案 0 :(得分:0)

您的RootViewController应该是代表。您遇到此问题是因为UIView已作为SecondViewController的代理人连接。

希望这有帮助