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

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

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

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

@anubiskong 哈哈。
@bolasblack 开源也是不错的。
66450146
2014-06-06 17:05:27 +08:00
extend 出 private 的部分就好了
mengzhuo
2014-06-06 17:29:33 +08:00
Python党表示啥是私有属性?
kqz901002
2014-06-06 17:41:06 +08:00
@mengzhuo def _private(self):
mengzhuo
2014-06-06 17:45:20 +08:00
@kqz901002

照样可以foo._private读出来
wezzard
2014-06-07 15:36:13 +08:00
蘋果已經說了會考慮提供swift的method access mechanism
limon
2014-06-07 22:06:04 +08:00
貌似GO也没有头文件,也没有private,这都不是个事儿。

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

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

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

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

© 2021 V2EX