z****e 发帖数: 54598 | 1 最近在搞swift,xcode 6.3之后感觉有些比较恶心的改变
涉及到一些core api的改动,导致很多书都凹凸了
还好最新的项目只是刚开始构思,开始动手时候赶上6.3发布
所以也就用上了最新的features,争取这个月release一个app
说点感想和吐槽
第一个as -> as!
xcode 6.3搞了一个大的不往后兼容的改变
结果导致以前所有的例子几乎都会出现编译错误,需要重新编写和debug
因为as不能用了,必需用as!,所以你会看到网络上大量的swift教程
被updated到6.3,就是因为这个,向前兼容被严重破坏鸟
还有touchBegins也有改了参数
第二个!
myVar != 2
和
myVar! = 2
有两个不同意思的,可能就只有swift了吧?
第二个oop
mvc很好用,基本上无论是android还是iox都在大量使用mvc
但是viewer部分非常不合适用object
model当然是oop,到处都是object,但是viewer部分
因为机能所限,所以还是用canvas&paint模式
无论是surfaceview还是quartzcore
基本上都是procedural programming,跟c比较像
java的都是static方法,quartzcore也差不多
基本上mvc上除了viewer以外,其他应该全部oop
但是viewer坚决不要用oop,深入研究了cocoa这些framework之后
发现他们也没有封装viewer相关的api为object,所以也就不用了
imageview和skview都强行做成了object,不太好用,机能受限也是一个重要原因
这部分用static还有class func
第三个gameloop
无论是android还是ios,gameloop其实都绑定到了ui thread上去
保持跟ui thread一样的刷新频率,从本质上说,都是伪的多线程
第四个网络
ios还很弱,需要借助第三方类库,好在github上炮灰多
随便下 |
c*******9 发帖数: 9032 | 2 Alamofire 网络库还比较好用,作者是AFNetwork的作者。
【在 z****e 的大作中提到】 : 最近在搞swift,xcode 6.3之后感觉有些比较恶心的改变 : 涉及到一些core api的改动,导致很多书都凹凸了 : 还好最新的项目只是刚开始构思,开始动手时候赶上6.3发布 : 所以也就用上了最新的features,争取这个月release一个app : 说点感想和吐槽 : 第一个as -> as! : xcode 6.3搞了一个大的不往后兼容的改变 : 结果导致以前所有的例子几乎都会出现编译错误,需要重新编写和debug : 因为as不能用了,必需用as!,所以你会看到网络上大量的swift教程 : 被updated到6.3,就是因为这个,向前兼容被严重破坏鸟
|
z****e 发帖数: 54598 | 3 多谢知会哈,我去看看,官方搞个udp/tcp的core lib有啥难的
不知道为啥一直不搞,几分钟就搞定的事,http是比较扯蛋
但是udp/tcp还是经常需要用的
【在 c*******9 的大作中提到】 : Alamofire 网络库还比较好用,作者是AFNetwork的作者。
|
n****n 发帖数: 222 | 4 第一个as? -> as!非常蛋疼,我的一个project升级前毫无问题。升级完后,出现300+
行这个错误。Xcode也不能给swift rename。 |
z****e 发帖数: 54598 | 5 ?不用改成!,这两个mutually exclusive
只有as的downcast时候才必需改成as!
这个功能只有用xcode时候才能提高编程效率
如果不用ide,用vi这里肯定疯狂拉低编程效率
说到底还是要学会用ide
【在 n****n 的大作中提到】 : 第一个as? -> as!非常蛋疼,我的一个project升级前毫无问题。升级完后,出现300+ : 行这个错误。Xcode也不能给swift rename。
|
n****n 发帖数: 222 | 6 是的我就是downcast的时候。Swift读restful API的时候不知道data类型是什么,我只
能一步一步downcast,最好还要加上 if let,以防万一类型cast错了,或者API改了
response。
【在 z****e 的大作中提到】 : ?不用改成!,这两个mutually exclusive : 只有as的downcast时候才必需改成as! : 这个功能只有用xcode时候才能提高编程效率 : 如果不用ide,用vi这里肯定疯狂拉低编程效率 : 说到底还是要学会用ide
|
z****e 发帖数: 54598 | 7 对的
if let v=myVar as? DownVar{
}
这种表达很蛋疼,不如try catch那么直观
唯一的好处就是这一行可以塞入一堆的?
就是fp的monad,fp的部分很是蛋疼的说
可读性其实很差,至少我第一眼看到的时候
就琢磨了半天,花了几个小时才领悟
【在 n****n 的大作中提到】 : 是的我就是downcast的时候。Swift读restful API的时候不知道data类型是什么,我只 : 能一步一步downcast,最好还要加上 if let,以防万一类型cast错了,或者API改了 : response。
|
n****n 发帖数: 222 | 8 对的,原来大牛也有同感。我一开始看这个一行又是let, 又是?,又是as,极度不爽。
【在 z****e 的大作中提到】 : 对的 : if let v=myVar as? DownVar{ : } : 这种表达很蛋疼,不如try catch那么直观 : 唯一的好处就是这一行可以塞入一堆的? : 就是fp的monad,fp的部分很是蛋疼的说 : 可读性其实很差,至少我第一眼看到的时候 : 就琢磨了半天,花了几个小时才领悟
|
c*******9 发帖数: 9032 | 9 用http的应用还是多。游戏多用udp,好像Gamekit会调用。
苹果不是做企业应用的,所以只提供最基本的network api。
【在 z****e 的大作中提到】 : 多谢知会哈,我去看看,官方搞个udp/tcp的core lib有啥难的 : 不知道为啥一直不搞,几分钟就搞定的事,http是比较扯蛋 : 但是udp/tcp还是经常需要用的
|
c*********e 发帖数: 16335 | 10 你用tcp做什么?
【在 z****e 的大作中提到】 : 多谢知会哈,我去看看,官方搞个udp/tcp的core lib有啥难的 : 不知道为啥一直不搞,几分钟就搞定的事,http是比较扯蛋 : 但是udp/tcp还是经常需要用的
|
|
|
z****e 发帖数: 54598 | 11 什么都做
比如用ios上的app控制cloud
【在 c*********e 的大作中提到】 : 你用tcp做什么?
|
c*********e 发帖数: 16335 | 12 为什么用tcp,不用http来控制cloud呢?
【在 z****e 的大作中提到】 : 什么都做 : 比如用ios上的app控制cloud
|
z****e 发帖数: 54598 | 13 因为http吃饱了需要head和body,parse来parse去
无聊不无聊,tcp足够用了,我要那么多tags干嘛?
【在 c*********e 的大作中提到】 : 为什么用tcp,不用http来控制cloud呢?
|
z****e 发帖数: 54598 | 14 感觉swift无论是从线程,还是drawtext这些
都比android开发要容易一点,更人性化一点
android如果不是我对java比较熟悉的话
感觉很多东西还是比较容易混淆的 |
c*********e 发帖数: 16335 | 15 人家轮子给你造好了,你不用?
【在 z****e 的大作中提到】 : 因为http吃饱了需要head和body,parse来parse去 : 无聊不无聊,tcp足够用了,我要那么多tags干嘛?
|
c*********e 发帖数: 16335 | 16 swift就是objective-c上穿个衣服,让程序员写得简单点。android就是借java,它自
己搞的那么多class,每个android版本会有新的class来代替,真是麻烦死了,不知道哪
天来个新版本,自己写的android代码又obsolete了!!!!
【在 z****e 的大作中提到】 : 感觉swift无论是从线程,还是drawtext这些 : 都比android开发要容易一点,更人性化一点 : android如果不是我对java比较熟悉的话 : 感觉很多东西还是比较容易混淆的
|
z****e 发帖数: 54598 | 17 靠,http是设计用来给web page用的
自己看看全称叫啥名字,我这又不是web page
【在 c*********e 的大作中提到】 : 人家轮子给你造好了,你不用?
|
z****e 发帖数: 54598 | 18 没有啊,我很少用特别新的api的
我自己动手搞引擎,各种破事就少很多
app如无必要,还是不堆轮子比较好,轮子堆多了
客户体验就不太好,这点跟server显然不同,server资源多
随便搞
【在 c*********e 的大作中提到】 : swift就是objective-c上穿个衣服,让程序员写得简单点。android就是借java,它自 : 己搞的那么多class,每个android版本会有新的class来代替,真是麻烦死了,不知道哪 : 天来个新版本,自己写的android代码又obsolete了!!!!
|
c*********e 发帖数: 16335 | 19 其实,facebook用了很多服务器来做它的網頁。比如,它的图片其实存在另外一个ip
address上https://scontent-lga.xx.fbcdn.net,而不是https://www.facebook.com
看来,为了網頁快,不卡,可以用多个server来呈现一个網頁,就像我们用jquery.js,
完全可以用网上的版本,这个网上版本在load的时候,網頁的其它tag也在同时load,相
当于是async.
【在 z****e 的大作中提到】 : 没有啊,我很少用特别新的api的 : 我自己动手搞引擎,各种破事就少很多 : app如无必要,还是不堆轮子比较好,轮子堆多了 : 客户体验就不太好,这点跟server显然不同,server资源多 : 随便搞
|
c*******9 发帖数: 9032 | 20 自己做东西就不要搞的太复杂。另外,facebook的一些开源框架实在烂,坑了不少人。
js,
【在 c*********e 的大作中提到】 : 其实,facebook用了很多服务器来做它的網頁。比如,它的图片其实存在另外一个ip : address上https://scontent-lga.xx.fbcdn.net,而不是https://www.facebook.com : 看来,为了網頁快,不卡,可以用多个server来呈现一个網頁,就像我们用jquery.js, : 完全可以用网上的版本,这个网上版本在load的时候,網頁的其它tag也在同时load,相 : 当于是async.
|
|
|
c*********e 发帖数: 16335 | 21 facebook成功的关键,是能搞到投资。技术上,确实没啥东西。
【在 c*******9 的大作中提到】 : 自己做东西就不要搞的太复杂。另外,facebook的一些开源框架实在烂,坑了不少人。 : : js,
|
s****y 发帖数: 503 | 22
用Alamofire以后会不会有问题?xcode和ios一升级,老项目经常会出现问题。
【在 c*******9 的大作中提到】 : Alamofire 网络库还比较好用,作者是AFNetwork的作者。
|
c*********e 发帖数: 16335 | 23 每次升级都会有这些屁事。j2ee,tomcat也一样。
【在 s****y 的大作中提到】 : : 用Alamofire以后会不会有问题?xcode和ios一升级,老项目经常会出现问题。
|
s****y 发帖数: 503 | 24
问题就是apple太aggresive了,他一升级一大堆error,万一解决不了怎么办?尤其是
open source的lib,所以不敢用啊。
【在 c*********e 的大作中提到】 : 每次升级都会有这些屁事。j2ee,tomcat也一样。
|
g*****g 发帖数: 34805 | 25 图片在CDN上不是常识吗?
js,
【在 c*********e 的大作中提到】 : 其实,facebook用了很多服务器来做它的網頁。比如,它的图片其实存在另外一个ip : address上https://scontent-lga.xx.fbcdn.net,而不是https://www.facebook.com : 看来,为了網頁快,不卡,可以用多个server来呈现一个網頁,就像我们用jquery.js, : 完全可以用网上的版本,这个网上版本在load的时候,網頁的其它tag也在同时load,相 : 当于是async.
|
c*********e 发帖数: 16335 | 26 facebook到底有几个server同时呈现一个网页?它的网页上的图片很少看到loading...
之类的spinner,这对于一个多图的网站是很难得的。
【在 g*****g 的大作中提到】 : 图片在CDN上不是常识吗? : : js,
|
g*****g 发帖数: 34805 | 27 CDN是根据你的 geo 优化的。
..
【在 c*********e 的大作中提到】 : facebook到底有几个server同时呈现一个网页?它的网页上的图片很少看到loading... : 之类的spinner,这对于一个多图的网站是很难得的。
|
c*********e 发帖数: 16335 | 28 这个需要在不同的location放几个server吗?比如西北,西南,中北,中部,中南部,
东北部,东南部,各放一个server? 这样是不是会快些?
【在 g*****g 的大作中提到】 : CDN是根据你的 geo 优化的。 : : ..
|
c*******9 发帖数: 9032 | 29 目前没发现什么问题。找些教程试试就知道了。
【在 s****y 的大作中提到】 : : 问题就是apple太aggresive了,他一升级一大堆error,万一解决不了怎么办?尤其是 : open source的lib,所以不敢用啊。
|
z****e 发帖数: 54598 | 30 放屁
我每次升级都很平稳
【在 c*********e 的大作中提到】 : 每次升级都会有这些屁事。j2ee,tomcat也一样。
|
|
|
c*********e 发帖数: 16335 | 31 2比1
【在 z****e 的大作中提到】 : 放屁 : 我每次升级都很平稳
|
z****e 发帖数: 54598 | 32 狗屁2:1
就你一个人在瞎说
【在 c*********e 的大作中提到】 : 2比1
|
z****e 发帖数: 54598 | 33 看版本号
第三方类库一般在官方升级之后,会很快升级
关键是如果你到时候要用旧版本的类库
反而不太容易找
尤其是文档
这个最新的已经升级到6.3了
Requirements
iOS 7.0+ / Mac OS X 10.9+
Xcode 6.3
【在 s****y 的大作中提到】 : : 问题就是apple太aggresive了,他一升级一大堆error,万一解决不了怎么办?尤其是 : open source的lib,所以不敢用啊。
|