zoukankan      html  css  js  c++  java
  • iphone:delegate机制

    iphone中常用@protocol和delegate的机制来实现接口的功能

    例如想在A的功能要在B中实现,可以在A中定义一个Protocol,按照Cocoa的习惯,一般它以delegate结尾,熟悉C#的同学应该知道它的意义。其实不论是接口,委托,还是回调函数,本质上都做了一件事情。就是定义了一个操作契约,然后由用户自己来实现它的具体内容

     

    @protocol AViewControllerDelegate

    - (void)func1

    - (int)func2:(int)arg  

    @end 

    然后要在A中声明一个delegate:

    @property (weak, nonatomic) id<AViewControllerDelegate> delegate1;(也可以声明为其它名字)

     

    然后让B遵循Adelegage的协议

    @interface BViewController : UIViewController <AViewControllerDelegate>     

    在B中实现func1 和func2。

    并且要在B中AViewController.delegate1 = self 。

     

    之后在A中调用[delegate1 func1]  [delegate1 func2]即可!

     

     

    可参考: http://wsqwsq000.iteye.com/blog/1121155

  • 相关阅读:
    LeetCode 485. Max Consecutive Ones
    LeetCode 367. Valid Perfect Square
    LeetCode 375. Guess Number Higher or Lower II
    LeetCode 374. Guess Number Higher or Lower
    LeetCode Word Pattern II
    LeetCode Arranging Coins
    LeetCode 422. Valid Word Square
    Session 共享
    java NIO
    非阻塞IO
  • 原文地址:https://www.cnblogs.com/mybkn/p/2474182.html
Copyright © 2011-2022 走看看