2011-08-26 38 views
1

我有3個viewController類,A,B和C.iPhone - 從頂部視圖控制器調用方法

從類A,我推入並呈現類B,然後從類BI推入和呈現類C.所有課程都委託協議定義的,所以

  • b.delegate =一
  • c.delegate = b

現在我是C類裏面,但我需要運行從A類的方法。

調用該方法的最佳方法是什麼?我的意思是最好的做法。

我可以想像,第B

- (BOOL) myMethodOnA { 
// this method on B will run the method on A and return it to C 
    return [delegate myMethodOnA]; 
} 

聲明這一點,但這個聲音,我像一個壞的解決方案。

有什麼建議嗎?

謝謝。

回答

1

我可能會錯過顯而易見的東西,但不應該這樣做?

[c.delegate.delegate myMethodOnA]

而且養成使用存取(確保你不拿代表的所有權)的習慣。 ARC使這更好。

+0

你能舉一個例子說明如何使用訪問器來做這件事嗎?謝謝 – SpaceDog

+0

該代碼使用委託。你有你的原始代碼,但沒有建立它們之間的聯繫,所以我有點認爲你完全不瞭解它們。 –

+0

問題在於我不理解你的短語「確保你不承擔代表的所有權」......這是什麼意思。你是否在意詳細闡述主題?謝謝 – SpaceDog

相關問題