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
thuai
V2EX  ›  iDev

都觉得 swift 好?!我只想问一个问题,private method implemention

  •  
  •   thuai ·
    thuai · Jun 6, 2014 · 6167 views
    This topic created in 4403 days ago, the information mentioned may be changed or developed.
    如果是c/c++, oc,都有.h .m文件区分。不能够公开的代码可以写到.m中打成lib.
    如果是swift, 声明和实现是写在一起的。如果做到这种c/c++,oc很方便实现的问题?
    请大神赐教!
    14 replies    2014-06-07 22:06:04 +08:00
    damngood
        2
    damngood  
       Jun 6, 2014
    还没开始研究 Swift, 如果没有正规的途径的话那应该也可以像 JS 那样通过闭包这种类似 hack 的方式来做吧。
    dorentus
        3
    dorentus  
       Jun 6, 2014
    Objetive-C 类的所有方法本来就都是可见并可以被自由调用的,不限 .h 里面公开的部分

    苹果是这么隐藏的: https://github.com/JaviSoto/iOS7-Runtime-Headers/commit/6ccf9c4526992fec0dc414d48e4a3f7446e9822f#L10R61
    thuai
        4
    thuai  
    OP
       Jun 6, 2014   ❤️ 1
    @dorentus 都是header啊。没有实现啊。所以声明和实现分开。能够很好的隐藏啊。你给的资料并没有佐证你的观点啊。求指正。非常感谢!
    anubiskong
        5
    anubiskong  
       Jun 6, 2014
    头文件太反人类了
    dorentus
        6
    dorentus  
       Jun 6, 2014
    那你这个就不是 private method implementation 的问题了..

    http://stackoverflow.com/a/24071638/90172 的说法,Xcode 应该是可以把 swift 项目导出成静态库供其它 swift 或者 obj-c 项目调用的,具体的情形因为 Xcode6-Beta 还受 NDA 限制,我也不太清楚。
    bolasblack
        7
    bolasblack  
       Jun 6, 2014
    反正我是开源的脑残粉,所以没有你说的那个东西我是一万个支持的
    thuai
        8
    thuai  
    OP
       Jun 6, 2014
    @dorentus 如果能够导成静态库的话,也到没有什么关系。

    @anubiskong 哈哈。
    @bolasblack 开源也是不错的。
    66450146
        9
    66450146  
       Jun 6, 2014
    extend 出 private 的部分就好了
    mengzhuo
        10
    mengzhuo  
       Jun 6, 2014
    Python党表示啥是私有属性?
    kqz901002
        11
    kqz901002  
       Jun 6, 2014
    @mengzhuo def _private(self):
    mengzhuo
        12
    mengzhuo  
       Jun 6, 2014
    @kqz901002

    照样可以foo._private读出来
    wezzard
        13
    wezzard  
       Jun 7, 2014
    蘋果已經說了會考慮提供swift的method access mechanism
    limon
        14
    limon  
       Jun 7, 2014
    貌似GO也没有头文件,也没有private,这都不是个事儿。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2709 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 60ms · UTC 12:09 · PVG 20:09 · LAX 05:09 · JFK 08:09
    ♥ Do have faith in what you're doing.