首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bdbai
V2EX  ›  程序员

iOS 中的 delegate 和 C# 中的有什么区别?

  •  
  •   bdbai · 2015-09-07 21:24:47 +08:00 via iPhone · 2078 次点击
    这是一个创建于 1604 天前的主题,其中的信息可能已经有所发展或是发生改变。
    从未了解过 iOS 开发,但经常看见大伙儿拿 iOS 的 `delegate` 说事儿。问下这两个地方的概念有什么不一样?难道是`雷锋` vs `雷峰塔`?
    12 回复  |  直到 2015-09-08 18:58:31 +08:00
    neilp
        1
    neilp   2015-09-07 21:52:31 +08:00
    obj c 中的 delegate 大致相当于 c# 中的 interface.

    根本不是一个东西.
    dorentus
        2
    dorentus   2015-09-07 22:51:21 +08:00 via iPhone
    iOS 里面的 delegate 只是个常用的 design pattern 而已
    bdbai
        3
    bdbai   2015-09-07 23:04:00 +08:00 via iPhone
    @neilp @dorentus 就是说 iOS 的 delegate 相当于 C# 里面定义接口-实现的模式?
    jhdxr
        4
    jhdxr   2015-09-07 23:05:24 +08:00
    每次看到楼主的头像都感到好忧桑。。。
    eggacher
        5
    eggacher   2015-09-07 23:09:31 +08:00
    @jhdxr 夏目友情帐 那只猫
    dorentus
        6
    dorentus   2015-09-07 23:11:01 +08:00 via iPhone
    @bdbai C# 我十多年没碰,已经完全不记得它的 delegate 是什么了。

    iOS 最常见的 delegate 是实现一个指定接口的类型。在这种情况下, delegate 作为对象的属性由外部实现并赋值给对象;对象约定在自己的进入某些状态时,调用 delegate 的指定方法,来通知到外部、或者从外部获取数据。
    bdbai
        7
    bdbai   2015-09-07 23:11:45 +08:00 via iPhone
    @jhdxr @eggacher 是 `夏目友人帐` 这个头像我到处都在用呢
    bdbai
        8
    bdbai   2015-09-07 23:17:39 +08:00 via iPhone
    @dorentus 有一种"事件"的既视感 对象的事件可以让具有相同签名的方法来绑定 对象只要像调用方法一样用事件就可以了 获取数据还能用强类型的事件参数来规定
    jsq2627
        9
    jsq2627   2015-09-08 11:47:09 +08:00 via iPhone
    雷锋和雷峰塔的关系。
    objc 的 delegate 类似 C#/Java 的 interface
    C#的 delegate 类似 objc 函数指针或者 block 的签名。
    jsq2627
        10
    jsq2627   2015-09-08 11:50:27 +08:00 via iPhone
    另外想起来 WPF/Silverlight/WinRT 提到的 storyboard 和 iOS 的 storyboard 也根本不是一个东西。。。
    jhdxr
        11
    jhdxr   2015-09-08 13:41:41 +08:00
    @eggacher
    @bdbai
    我知道是那里边的那只猫。。。只是看到这个想起了个忧桑的往事_(:з」∠)_
    bdbai
        12
    bdbai   2015-09-08 18:58:31 +08:00 via iPhone
    @jsq2627 个人觉得 C# 的 interface 并不难搞,为什么 iOS 要拿它说事? iOS 的 sb 大概是 WPF/Silverlight/WinRT 的 Frame 以及一些控件,可以这么说吗?
    @jhdxr 青涩的青春么(语死早
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   795 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 23ms · UTC 22:23 · PVG 06:23 · LAX 14:23 · JFK 17:23
    ♥ Do have faith in what you're doing.