2012-09-16 70 views
1

在我的应用我使用情节串连图板,这是它是如何设置:故事板和委托

的UIViewController - >推到 - >的UIViewController - >推到 - >的UIViewController

我拥有这一切工作,但我无法弄清楚我是如何执行firstViewController和thirdViewController之间的委托的。我已经看过它通常如何处理故事板(设置destinationView委托),但我需要设置thirdViewControllers委托而不是第二个。因为中间有ViewController,我不知道这是如何完成的。任何响应都表示赞赏。谢谢你提前。

回答

2

你的意思是说你想让VC1成为VC2和VC3的代表?

在VC1 prepareForSegue,你可以做你的建议:

VC2 *myVC2 = segue.destinationViewController; 
myVC2.delegate = self; 

在VC2 prepareForSegue,你还可以做你的建议,只能间接地:

VC3 *myVC3 = segue.destinationViewController; 
myV3.delegate = self.delegate; 

的头看起来像这样:

VC1.h

@protocol VC23Delegate <NSObject> 
- (void)doSomethingForVC2; 
- (void)doSomethingForVC3; 
@end 

VC2.h

@protocol VC23Delegate; 
@property(weak,nonatomic) id<VC23Delegate> delegate; 

VC3.h

@property(weak,nonatomic) id<VC23Delegate> delegate; 
+0

什么ü通过间接的意思吗? – BDGapps

+1

了解第二种情况如何略有不同?你将委托设置为self.delegate,而不是self。 – danh

+0

所以即时将代理属性添加到VC2,但没有协议 – BDGapps