V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
ma125125t
V2EX  ›  iDev

公司新项目准备尝试用 swift,几个问题请教过来人

  •  
  •   ma125125t · 2016-09-22 21:02:42 +08:00 · 3604 次点击
    这是一个创建于 2969 天前的主题,其中的信息可能已经有所发展或是发生改变。

    1.网络层方面: AFNetWorking 和 ASIHttp 都是 OC 的库, Swift 有哪些网络库坑比较少的网络库

    2.Swift 似乎有反射机制?那么对象的建立应该可以由反射来完成了。

    3.常用的 UI 框架, UI ( Alert 、 HUD 、 PullRefresh 、图片加载、 etc ) 库有哪些?

    4.alipay 、 wechat sdk 、 BaiduMap 等大厂 sdk 是否需要进行桥接、集成、调用?

    5.常见的坑有哪些,能否举几个出来帮助新手,非常感谢。

    6.一个月到两个月时间写完项目(复杂度类似咸鱼),其中会包括 java 后台,但不包括数据库。这样的进度是买本书放在手边当参考还是直接上网查比较好?如果买书,哪本参考书比较合适,最好是适配 Swift3.0 的,或者求个靠谱的网站。之前没碰过 Swift ,一年半 OC 经验。

    感谢每个收看提问和回答问题的人,谢谢。

    16 条回复    2016-10-05 10:11:25 +08:00
    raycool
        1
    raycool  
       2016-09-22 21:51:32 +08:00   ❤️ 1
    AF 的 swift 对应网络库为 Alamofire
    fengdianxun
        2
    fengdianxun  
       2016-09-22 22:12:45 +08:00   ❤️ 1
    @raycool 多谢,已 start
    anerevol
        3
    anerevol  
       2016-09-22 22:29:27 +08:00   ❤️ 1
    swift 貌似没反射
    OC 的 UI 库 Swift 里面照常使用啊
    觉得开始之前将 swift 大致过一遍,看看和 OC 有啥不同,不要完全按照 OC 的方式来写 swift
    不知道你看英文文档费力不,官方的这个书我就觉得挺好 https://itunes.apple.com/us/book/swift-programming-language/id881256329?mt=11

    http://swifter.tips/ 这个里面的 tips 过一遍
    huoshanhui
        4
    huoshanhui  
       2016-09-22 23:22:43 +08:00   ❤️ 1
    1 ) Swift 开发唯一麻烦的地方就是与 Objc 混合开发时, Objc 文件里调用 Swift 代码。
    2 )要熟练使用 Swift 开发,最好深刻理解下泛型、可选类型...等等这些 Swift 专有特性。
    3 )至于你说的第三方库,请自行 Github 。
    free9fw
        5
    free9fw  
       2016-09-22 23:24:27 +08:00   ❤️ 1
    第三方库别担心,可以使用全部的 OC 库,桥接很方便。
    坑就是从熟悉到入门一直重复哈哈
    swift2 一周就可以上手了, swift3 就。。。
    不知道一到两个月是一个人还是几个人开发,闲鱼有 IM 的,这个估计就要花很久了。如果赶时间, OC 是最好的
    ma125125t
        6
    ma125125t  
    OP
       2016-09-23 09:25:14 +08:00
    @raycool @fengdianxun @anerevol @huoshanhui @free9fw
    先感谢再看回答
    jackisnotspirate
        7
    jackisnotspirate  
       2016-09-23 09:52:19 +08:00
    swift 4 会有反射
    kitalphaj
        8
    kitalphaj  
       2016-09-23 11:36:08 +08:00
    Swift 有反射啊,楼上的是什么情况。。。主要类是 Mirror ,有几个开源库就是基于这个做的。如果你喜欢 DI ,可以试试 swift 写的 Dip ,个人比较喜欢
    kitalphaj
        9
    kitalphaj  
       2016-09-23 11:37:34 +08:00
    另外 swift 对指针的处理特别麻烦,坑比较大。
    shiweifu
        10
    shiweifu  
       2016-09-23 12:05:25 +08:00
    我建议可以先关注着,等几个月直接上 Swift 3 和 Xcode 8 ,这是个尴尬的时间点儿,有的库完全更新到了 Swift 3 ,有的还在用 Swift 2.3
    isweal
        11
    isweal  
       2016-09-23 17:58:49 +08:00
    不要用 swift 写电商 app !!!
    ma125125t
        12
    ma125125t  
    OP
       2016-09-23 19:08:02 +08:00
    @isweal 这是为何?
    miketeam
        13
    miketeam  
       2016-09-28 18:00:05 +08:00 via iPhone
    同问
    racechao
        14
    racechao  
       2016-10-05 09:51:31 +08:00
    1. Alamofire
    racechao
        15
    racechao  
       2016-10-05 10:06:35 +08:00
    1. Alamofire 2. http://swifter.tips/reflect/ 3. 其实可以自己实现,如果时间有限可以在 Github 上搜, Objetive-C 和 Swift 都可以用 4. 需要桥接,或者可以使用这个项目 https://github.com/nixzhu/MonkeyKing 5. 坑的话主要是不同版本库的管理,建议暂时不要升级到 3.0 因为很多库还不兼容
    racechao
        16
    racechao  
       2016-10-05 10:11:25 +08:00
    针对你的最后一点,看官方手册就好了,写的时候多思考下如果利用 Swift 的特性去实现,不要只是 Objetive-C 的翻译工,否则用 Swift 的意义就不大了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   967 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 61ms · UTC 22:14 · PVG 06:14 · LAX 14:14 · JFK 17:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.