如何将IBOutlet从一个类连接到另一个类

时间:2014-02-05 12:04:24

标签: ios xib iboutlet

我有A类,其中包含带有一些按钮的xib和一个包含tableView的UITextField和Class B. 我想将A类添加到表视图标题中。

我使用[[[NSBundle mainBundle] loadNibName: owner:self options:nil] objectAtIndex:0];

将类A中的xib导入到B类中

我只想反映classB中的按钮和textview动作。在ClassB中,我确实有一些UITextfield Delegate方法,我希望在在ClassA中定义和声明的uitextfield中输入一些文本时调用这些方法(.h文件中的xib +属性定义)。

A类.h:

//properties are set from xib file ClassA.xib
@interface ClassA : UIView

@property (unsafe_unretained, nonatomic) IBOutlet UIButton *addC; 
@property(strong, nonatomic) IBOutlet UITextField *nText;

@end

班B.h

#import "ClassA"
@interface ClassB : UIViewController <UITextFieldDelegate, UITableViewDataSource,...>

@property (strong, nonatomic) IBOutlet UITableView *mTableView; //property set from ClassB.xib
@property(strong, nonatomic) IBOutlet UITextField *nText_B;
@property (unsafe_unretained, nonatomic) IBOutlet UIButton *addC_B;

- (IBAction)addC:(UIButton *)sender;
@end

我不知道如何将ClassB按钮和textfield链接到ClassA 在ClassB viewDidLoad方法中我试过这个:

 getHeader = [[ClassA alloc]init];
   _addC_B = [getHeader addC];
   _nText_B = [getHeader nText]; 
    _nText_B.delegate =self;
    _nText_B.text=@"";

但它不起作用 我是这方面的iOS新手。 谢谢你的帮助

2 个答案:

答案 0 :(得分:0)

您无法连接位于XIB类之外的IBOutlet。但如果您只想访问其他课程的插座,可以在ClassA中创建ClassB的实例。然后访问instanceOfClassA.outletObject

之类的属性

答案 1 :(得分:0)

你还没有很好地解释你的问题。类不包含xibs&#34;。

如果您的目标是在XIB中创建一个用户界面并重复使用它,则可以使用[NSBundle loadNibNamed:owner:options:]实现此目的。引用部分内容的最佳方式是通过Noval在他的回答中解释的属性。另一种可能性是将视图附加到&#34;文件的所有者&#34;出口的属性。

相关问题