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

2014 年 6 月 6 日
 thuai
如果是c/c++, oc,都有.h .m文件区分。不能够公开的代码可以写到.m中打成lib.
如果是swift, 声明和实现是写在一起的。如果做到这种c/c++,oc很方便实现的问题?
请大神赐教!
6446 次点击
所在节点    iDev
14 条回复
jamesyoung
2014 年 6 月 6 日
要不去swift技术社区聊聊?http://swiftttt.com/
damngood
2014 年 6 月 6 日
还没开始研究 Swift, 如果没有正规的途径的话那应该也可以像 JS 那样通过闭包这种类似 hack 的方式来做吧。
dorentus
2014 年 6 月 6 日
Objetive-C 类的所有方法本来就都是可见并可以被自由调用的,不限 .h 里面公开的部分

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

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

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

照样可以foo._private读出来
wezzard
2014 年 6 月 7 日
蘋果已經說了會考慮提供swift的method access mechanism
limon
2014 年 6 月 7 日
貌似GO也没有头文件,也没有private,这都不是个事儿。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/116067

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX