代理参数问题的思考

为什么代理方法要把代理对应的控件传进来

  • 为了告诉你   哪一个控件触发了代理方法;告诉你是这个alertView被人点了

11 — (void)alertvi 
: (UIAtertView 
NSLog (Q" buttonlndex) ; 
filiCkedButtonAtIndex: NSInteger buttonlndex

  • 当有两个对话框的时候,会出现一个方法监听两个对话框按钮点击的情况,这样就分不清弹出的按钮来自于哪个对话框,所以

他要把alertView传给你      这时候两个对话框的按钮被人点了,就能分清楚点的哪一个对话框

125 
— (IBAction ) nextQuestion { 
if (self. index 
self. questions. count 
UIAtertView *alert = [ [IJIA1ertView alloc] 
nil] ; 
alert. tag 
[alert show] ; 
UIAlertView *alert2 = I(UIAlertView al loc) 
nil] ; 
alert2.tag = 2ø; 
[alert2 show] ; 
return; 
delegate: self 
! ! delegate: self

I — clickedButtonAtIndex: (NSInteger)buttonIndex 
NSLog buttonlndex) ; 
03

iOS 
— iPhone Retina / iOS 7 n 
3:56 PM 
10/10 
[ [UIAIert 
0th 
010800 
alertV,ieW

  • 如果不传入alertView

— (void)atertViewCIickedButtonAtIndex: (NSIntegår)butltonIndex 
NSLog buttonlndex) ; 
if (ptertView. tag 
10) 
alertV,iew

 

就是说某一个alertView上面的按钮被人点了,哪一个按钮?buttonIndex。哪一个alertView不知道。

  • 以后自己写一套代理   :谁触发了代理方法  就把谁传进去  让别人知道    是这个view里面出事情了  是这个view里面的状态修改

   是这个view里面的按钮被人点了


原文地址:https://www.cnblogs.com/haijiabei/p/7891032.html