我有一些代碼實例化一些東西。此代碼需要添加到視圖。因此,我需要能夠使用視圖參數調用函數,然後將我的代碼設置爲方法體中的視圖。如何創建一個將視圖作爲參數的objective-c方法?
這樣做有什麼選擇?我讀過你可以使用代表?但不知道如何。
我有一些代碼實例化一些東西。此代碼需要添加到視圖。因此,我需要能夠使用視圖參數調用函數,然後將我的代碼設置爲方法體中的視圖。如何創建一個將視圖作爲參數的objective-c方法?
這樣做有什麼選擇?我讀過你可以使用代表?但不知道如何。
如果你想一個UIView
添加爲子視圖你做另一種觀點認爲:[view addSubview:subview]
。如果你想創建一個方法採取視圖,你可以寫這樣的:
- (void)nameOfMethodThatYouWantToSendTheViewTo:(UIView *)view {
//do seomthing with the view
}
- (void) aMethodWithView:(UIView *)theView{
theView.setSomething = somethong;
}
那麼你想創建一個視圖,並傳遞一些參數進行初始化,如果我理解正確的看法。
我認爲你可以在視圖控制器中創建一個自定義-initWithNibName(),如果必須在顯示視圖之前完成該操作。所以它看起來像
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil withParametherA: (ClassA *)a andParameterB: (ClassB *)b andParameterC: (ClassC *)c
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
// Use value of a, b, c to do something
}
return self;
}
如果不同的視圖控制器之間你想傳遞值,說你想帶參數的觀點是B,你從A在B的控制器類填充它。然後,可以使場你喜歡成爲屬性,那麼在A中,你可以創建B的控制器類,設置屬性,然後填充視圖。
如果您想使用委派,您可以將A設置爲B的委託,因此在B中,您可以發送一條消息來獲取您喜歡的參數值,即-ViewDidLoad()或您喜歡的任何方法。
希望這會有所幫助。
非常有幫助謝謝。我對此很陌生,因此我現在要使用上面更簡單的答案,但我很可能會回到這裏。 – SirYakalot 2012-02-07 17:19:14
SirYakalot沒問題 – 2012-02-07 18:36:50