解释一下_mapView.delegate=self;类似语句的含义,和这句话涉及到的内存的管理。

解决方案 »

  1.   

    如果在某个ViewController里的viewDidLoad里有_mapView.delegate=self;语句,则self表示此ViewController,这调语句就是说把mapView的委托(delegate)设置为ViewController
      

  2.   


    调语句就是说把mapView的委托(delegate)设置为ViewController ,这一句话可以在详细的解释一下吗?
      

  3.   

    你可以理解为mapView委托ViewController ;mapView为委托人,ViewController为被委托人,delegate是委托的内容;一般self在哪个控制器调用,可以理解为当前控制器;
      

  4.   


    调语句就是说把mapView的委托(delegate)设置为ViewController ,这一句话可以在详细的解释一下吗?
    这是一种设计模式,有的人称为代理,有的人称为委托,比如有A,B两个控制器,由A可以push到B,B可以pop回A,现在有一种情况,A中有一个label,需要从B中获取数据,显示到A的label里,这时就可以用代理了,在B中写一个protocol,在这个协议里写一个方法来保存数据,之后在A中遵守B的协议,在push之前,添加这样一句话b.delegate=self,并且将B的代理方法写在A中,给label赋值,A就可以获取到B中的数据了,这就是代理的简单过程,你可以把A看成你的viewController,把B看成mapView。
      

  5.   

    往理论上理解,就是a的一个代理属性被当前控制器(self)赋予了一个值,当前控制器就要实现发布协议的那个控制器规定实现的方法,这个方法可以增加很多参数,当b控制器实现协议方法时就可以获取这个方法里的参数,可以用它来做自己想做的事。简单了说,就是某个人想做什么事,由于缺少什么东西做不了,但你恰恰有那个东西,但你不知道什么时候去做,我就可以告诉你什么时候去做,这个就相当于协议。打个比方,我想去银行取钱,我知道密码,但是没有卡,我就可以告诉你密码,然后让你帮我去取钱
      

  6.   

    ios 中就是直接设置一个接口可以包含若干方法,不像C#中设置一个一个的事件.
    这与内存管理没有关系啊
      

  7.   

    要调delegate的实现方法的时候,这些方法在self指针里找
    正常的地址赋值,不要管内存的问题
      

  8.   


    //就是 使用代理模式进行函数的调用
    //    也叫 委托模式
    // 使用步骤
    // 1.遵守 代理书(委托).即Delega
    // 2.指定委托人 (就是楼主 写出来的这句话
    // 3.对代理方法,进行编写