F's Blog

博客 收藏夹
Swift和iOS

17 Sep 2015

一种新的语言出来总是让人兴奋,想看看有什么新的功能。毕竟语言也是有科技含量的,有功能上的高级和低级语言。

既然不喜欢Java,索性也别开发Android了,来看看新的swift吧,哈哈~~~不能不说,我喜欢动态语言,除非必要,真的不想去写静态语言。

是的,作为一个开发者,我想有一个好的开发生态环境,不用担心程序被破解,不用考虑适配各种屏幕和硬件,只想开发出心中的那个应用,分享给大家同时得到应有的收获。

可能值

可能值在我用到语言中算是首创,但在程序中很普遍——检测将要使用的变量是否为空。不为空则继续使用,空了则处理。

但很多错误就是来自于程序员忘了检测,所以有了Swift里的可能值。一开始就将可能为空的变量定义为可能值,即在变量类型后面加上”?”,这么在使用的时候就需要去用”!”去所谓拆包来取得这个值。但如果是要调用可能值的方法、获得属性或取得下标里的值,直接在”?”后用”.”来调用即可,如果可能值不为空则调用,否则返回nil。

所以在iOS中我们看到下面使用也就明白了:

cell.textLabel?.textColor = UIColor.blackColor()
self.navigationController?.popViewControllerAnimated(true)

有则用,没有也不会出错。

extension

很惊奇的发现,extension关键字可以将类打开。

Swift更像Java,需要编译,但是代码是运行在虚拟机上的。

协议

Java中的接口,只定义行为,实习多继承。

调用Objective-C

使用cocoapods

cocoapods是用Ruby写的,看使用方法就是bundle的路子。

用到的pod是用OC写的,就用上面的方法桥接一下。

pod install

后会提醒去项目工程里,在build setting里,在other flag里多加一项$(inherited),因为它覆盖了Pods里的。

任何一个成熟的语言或框架,都有其包管理,这样就给了大家分享自己代码的平台。一个人写代码是很寂寞的,好不容易写出来了,当然要拿来分(xian)享(bai)一下啊,如同写了一篇文章,要拿来给大家读。 得到了同行和用户的认可才叫开心,才算证明了自己,否则光自己说自己有多厉害没人信。

看着俺们程序员的世界这么美好,真幸福!

UI

有了开发cocos2d-x游戏的经验,何惧用代码写界面?这是个一劳永逸的事情。

新的东西当然不要去排斥。但是我觉得UI在一个APP中代码量并不多,一旦定下后,以后更改也方便,而且代码明确,反正我是愿意去写UI代码。

Storyboard

这里就是拖拽了,按住Ctrl能够建立关系,如Segue、IBOutlet等。

Segue

在Segue触发时,即prepareForSegue方法被调用,可以处理目标view的相关。

autolayout

参考

感想

很开心,Swift要开源了。我仿佛看到了它的辉煌,所以一定要学习。

苹果是尊重开发者的,因为它的创始人就是俩个geek。

通过App的开发,我能把自己的创意分享给大家,很是开心!

本文由 付豪 创作,采用署名 4.0 国际(CC BY 4.0)创作共享协议进行许可,详细声明