2012-06-25 61 views
0

我對iPad的一個項目在Xcode 4參考主視圖控制器屬性被另一個類

我有很多的UITextField主視圖控制器。

TextFieldDelegate是獨立文件中的獨立類。

我如何從TextFieldDelegate引用主視圖控制器的屬性(到UITextField)(例如,將值賦給雙精度值)?

謝謝。

回答

1

在大多數情況下,如果您想要使用單獨的委託,則不需要比傳遞給委託(方法參數)更多的信息。但是,如果您不想將MainViewController用作UITextField的代理,則可以在MainViewController實例中初始化TextFieldDelegate並將其傳遞給MainViewController實例。

例如,你可以有:

#import "MainViewController.h" 
@interface TextFieldDelegate<UITextFieldDelegate> { 
    MainViewController* mainViewController; 
} 
@property(nonatomic,retain) MainViewController* mainViewController; 
-(id)initWithController:(MainViewController*)controller; 
@end 

@implementation TextFieldDelegate 
@synthesize mainViewController; 
-(id)initWithController:(MainViewController*)controller { 
    if(self = [super init]) { 
    //some stuff 
    self.mainViewController = controller; 
    } 
    return self; 
} 
@end 
在MainViewController

然後:

TextFieldDelegate tfd = [[TextFieldDelegate alloc] initWithController:self]; 

你只需要設置TextField的授人以TFD,你應該能夠引用MainViewController性質來自TextFieldDelegate實例。只要您將MainViewController實例發送到TextFieldDelegate實例,也可以在其他位置啓動它。

編輯:woups忘了幾個'*'