前言
Swift已经出来好久了,7月份的语言排名已经到了第16位,可见从Apple的开发部门到各种Ios开发者都已经对这一语言投入了极大的热情,Swift在Ios平台上替代OC的势头势不可挡了,不然Apple也没有必要去开发一门新语言。
同时Google也在重写Android的API以适应用Go开发后期的Android设备,虽然没有Swift目前的进展大,但是看得出各大巨头也在通过推出新语言为后期不管是智能家具,穿戴设备,智能汽车的市场做布局了。总之这会一个势头,于是想对.net,C#的开发者说一句,不想在错过下一波的浪潮的话,走出自己的舒适区,战斗吧。
开始
这一系列有好多文章来自于国外的Blog,感谢国外大牛的分享,同时也会分享自己学习使用Swift开发App的经验,不好的地方希望大家包涵指正。
Swift语言本身没有多少需要详细解释的东西,有过其他语言编程基础的人适应其语法肯定比当初接触OC要好得多,我学习和进入一门新语言的方式都是看一下他的编程范式之后就开始走一个小的Demo,于是文章的方式也是按这种方式进行。
废话太多,开始吧!
Hello World!
首先新建一个Xcode项目,创建Single View IOS Application,命名为Day1HelloWorld。注意选择IPhone和使用Swift语言。
项目创建成功之后,在Main.Storyboard中拖入一个Label,一个Text Field和一个Button。
按照你的习惯修改Label的大小:
完成之后我们的StoryBoard应该变成:
我们第一个项目的UI就完成了,我们可以Run一下Application看看将来在真机上的样子:
下一步我们需要为UI的元素和Code建立连接,了解过XCode开发的同学应该知道,XCode的UI和Code连接是通过拖拽完成的:
松开鼠标的时候回弹出提示修改对应的Name为label:
同样我们为另一个只读控件text field建立连接,命名为“textField”,但是注意我们为对应UI中的Button建立连接时他应该是Action:
元素和代码连接建立好了之后我们就该想一想Button的Action了,在Button的IBAction行为代码里面加入如下Code:
label.text = "Hello, \(textField.text)!"
意思是在我们点击Button的时候Label的文本变成了Hello,+textField的输入信息。
代码如下:
最简单的一个基于Swift的App就这样完成了,我们点击Run看一下成果。
很神奇吧,和我们想想的一样,通过Swift我们开发App的效率比之前用OC要快得多,同时整个的代码可读性,层次感更加的出色。
好吧,第一版的Swift And Demo就结束了,后期会一起陪大家通过Swift建Demo的。
- 10楼千年老妖之妖王
- 写得不错,继续关注你
- 9楼GoYF
- 等你写完了 黄花菜都凉了
- Re: 陈惊蛰
- @Go远方,的确- -|||
- Re: Turbo Zhang
- @Go远方,引用等你写完了 黄花菜都凉了,对哦,看来只能当做分享心路历程了
- 8楼『大雪无痕』
- 先掐住楼主的 脖子,—— 把 楼主 脑袋里知道的东西 都给用力摇出来。
- 7楼Sunth
- 慢慢写就行,Swift距离成熟还有段时间。
- 6楼Fretice
- 今天是第一天的demo 以后可得快点写喽~~
- Re: Turbo Zhang
- @Fretice,引用今天是第一天的demo 以后可得快点写喽~~,争取吧,每天一个不现实,争取把功能放在一起出个Demo。
- 5楼编了个程
- 我这自动生成的代码,为什么是这样:@IBOutlet var label: UILabel!
- 4楼技不如人
- 支持系列
- 3楼Aran.Wang
- 不错 不错 ,就差一台水果机了
- Re: Turbo Zhang
- @Aran.Wang,引用不错 不错 ,就差一台水果机了,兄弟就当投资吧
- 2楼wdwwtzy
- 博主有了解过xamarin吗?这东西如何?
- Re: Turbo Zhang
- @wdwwtzy,引用博主有了解过xamarin吗?这东西如何?,东西是不错,而且是相当的不错对于Android API或者IOS ApI封装都不错,开发代码习惯逻辑都很舒服,特别是对于Android中事件监听Java的方式太繁琐,但是借助委托或者4.0之后的C#语法可读性是大增的,相信你如果用他开发移动APP的话你会爱上他的,但是对于个人开发这还是成本太高了,好像是2万吧每个设备,如果是个公司的话可以投入下。前几天我们去微软中国也是问了他们工程师对于移动端微软的看法,因为微软的战略是移动先行,云先行,云上会推出对应的移动sdk但是只是开发云的,他们提的跨平台解决方案还是PhoneGap和合作伙伴Xamarin,相见一下也许微软明年会收了他,但是谁知道呢。
- 1楼zh89233
- 没有苹果本#183;#183;#183;#183;(⊙o⊙)…
- Re: FunLove
- @zh89233,你可以搞个大点内存,vm装mac虚拟机