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

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

  •  
  •   find456789 ·
    find456789 · 2021-05-21 18:00:27 +08:00 · 2131 次点击
    这是一个创建于 1042 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    谢谢

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

    动态类型语言 by definition 一般没这习惯…
    hronro
        7
    hronro  
       2021-05-21 22:37:54 +08:00
    这东西不就是 TypeScript 里面的 interface ?所以你确定是学过 TypeScript 的?
    aptx4689
        8
    aptx4689  
       2021-05-22 01:20:21 +08:00 via iPhone
    你先把 uitableview 搞明白了,后面就简单了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5707 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 01:47 · PVG 09:47 · LAX 18:47 · JFK 21:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.