V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
find456789
V2EX  ›  Swift

已掌握 Python 、typescript,但是感觉 Swift 里面很多概念很难理解,比如协议

  •  
  •   find456789 ·
    find456789 · 191 天前 · 1291 次点击
    这是一个创建于 191 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如协议, 不知道该咋理解, 没找到参照的东西,难以理解

    有没有 什么文档, 是 可以方便 已掌握 Python,ts 语言的人,来学 swift 的?

    谢谢

    8 条回复    2021-05-22 01:20:21 +08:00
    Leonard
        1
    Leonard   191 天前
    会 oc 就好理解
    irytu
        2
    irytu   191 天前 via iPhone
    oc 里看下 protocol 和 delegate 的实现,找个库看下,比如 icarousel,实现了一套类似 UITableViewDelegate 的 API
    irytu
        3
    irytu   191 天前 via iPhone
    不过话说现在学 swift 不如学 rust😂
    nathanw
        4
    nathanw   191 天前 via iPhone
    协议是声明接口,让去子类实现,在 swift 里可以有默认实现。相对于继承,可以做到组合的效果。
    di94sh
        5
    di94sh   191 天前 via iPhone
    你确定已经掌握 python 了么,上下文管理器,迭代器等等不就是使用协议的思想实现的么,还有 class 里面各种特殊方法
    secondwtq
        6
    secondwtq   191 天前   ❤️ 3
    你这还真是方向问题,类似的东西许多静态类型语言都有”参照”,但动态类型语言里面就是不好找
    Swift 里面叫 protocol
    Go 里面叫 interface
    Rust 里面叫 trait
    C++ 里面叫 concept
    Haskell 里面叫 typeclass
    ML 里面叫 module
    Java/C# 里面也叫 interface

    动态类型语言 by definition 一般没这习惯…
    hronro
        7
    hronro   191 天前
    这东西不就是 TypeScript 里面的 interface ?所以你确定是学过 TypeScript 的?
    aptx4689
        8
    aptx4689   191 天前 via iPhone
    你先把 uitableview 搞明白了,后面就简单了
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1337 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 17:27 · PVG 01:27 · LAX 09:27 · JFK 12:27
    ♥ Do have faith in what you're doing.