find456789
V2EX  ›  Swift

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

  •  
  •   find456789 ·
    find456789 · May 21, 2021 · 3045 views
    This topic created in 1890 days ago, the information mentioned may be changed or developed.

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

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

    谢谢

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

    动态类型语言 by definition 一般没这习惯…
    hronro
        7
    hronro  
       May 21, 2021
    这东西不就是 TypeScript 里面的 interface ?所以你确定是学过 TypeScript 的?
    aptx4689
        8
    aptx4689  
       May 22, 2021 via iPhone
    你先把 uitableview 搞明白了,后面就简单了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   956 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 19:16 · PVG 03:16 · LAX 12:16 · JFK 15:16
    ♥ Do have faith in what you're doing.