自定义委托方法未调用100

时间:2015-03-11 14:44:37

标签: objective-c delegates

我正在尝试在NSObject类和UIViewController类之间使用自定义委托。委托在NSObject方法中声明为

 @protocol MYDelegate <NSObject>
-(void)methodOne;
 @end

@property(nonatomic,strong) id <MYDelegate> delegate;

并尝试通过

调用它
if([delegate respondsToSelector:@selector(methodOne)]){
    [delegate methodOne];
}

方法在ViewController类中定义为

UIViewController <MYDelegate>

-(void)methodOne{
[self performSegueWithIdentifier:@"someScreenSegue" sender:self];
}

没有得到我在这里失踪的东西。委托方法永远不会被调用。我得到self->delegate: <nil> 代表总是返回

1 个答案:

答案 0 :(得分:1)

代表是回拨机制。如果要使用委托,则必须执行以下操作:

  1. 创建委托协议(您做过)
  2. 拥有实现回调的类,实现协议(你做过)
  3. 将委托从调用类连接到self以允许回调发生(这是缺失的)。
  4. 因此,您需要在代码中的某个位置分配委托属性。