【100天爱上Swift】Day 1: Hello World!

前言

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的。

【100天爱上Swift】Day 1: Hello World!

时间: 2024-10-23 13:23:16

【100天爱上Swift】Day 1: Hello World!的相关文章

[爱上Swift]第三弹:使用Swift建立App基本基石

搭架子 首先这次我们会主要使用IOS自带的导航Controller为一个APP建立一个简单的基石, 新建一个空的Application并创建3个swift文件,分别命名为:FirstViewController,SecondViewController,ThirdViewController; 同时在三个Swift的Controller中重写继承类的viewDidLoad()方法: override func viewDidLoad(){ super.viewDidLoad(); } 在整个程序

【爱上Swift】Day 2: Login Form

扯淡 上一篇出了之后,有园友说,100篇出来之后黄瓜菜都凉了,想想确实是哦,100篇确实是个大量,而且目前来说写东西也就是业余时间的一个小总结,白天还要工作,晚上在做一个web系统,最近因为世界杯时间更是少的可怜.所以这一系列就当是对于移动开发的分享经验,吐槽总结吧. 废话不扯了,开始今天的Demo. Login Form 今天模拟的是我们现实项目中的一个小的原型,登陆窗体. 首先还是创建一个Single View IOS项目,选择Swift和Iphone. 然后点击Main.StoryBoar

[爱上Swift] day8:讲解Swift中的UIKit重力学(一)

转自:http://www.itjhwd.com/swift-uikitzlx/ 重力学这个名词不论在哪个行业领域听起来似乎都很高大上.那么在Swift中的重力学是什么呢?那就是将我们移动端屏幕上毫无生命力的东西也置于万有引力中,使它们能够展现出好像真的由于引力而向下坠落以及碰到物体后自然的弹开的效果. 要想做到这一点,我们得需要两个利器:UIKit Dynamics和Motion Effects. UIKit Dynamics是UIKit中一套完整的物理引擎.它可以让我们在程序中对界面元素添加

[ 爱上Swift]十二期:TODOList项目

好久没有写Swift甚是想念,Swift,Xcode都比较稳定了写个程序熟悉一下,当然时间原因都是小Demo,废话不多说先上图. 下面是跑起来之后都样子: 框架 首先我们打开Xcode之后建立TabApplication,默认会建立两个链接Tab的ViewController,我们将FirstViewController作为TablView的list列表: SecondViewController作为Task创建的列表: 创建核心TodoManager程序 这样我们就有了一个维护Task声明周期

100.Same Tree(Swift待解)

Given two binary trees, write a function to check if they are equal or not. Two binary trees are considered equal if they are structurally identical and the nodes have the same value. 思路:刚刚学习了二叉树,想到可能要分别遍历再比较,但对此题具体的实现还没有经验和具体代码结构. 参考代码: /* https://l

[爱上Swift] day9:初探swift语言(线程)

作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/30354127 转载请注明出处 swift 并没有使用新一套线程,使用OC源有的一套线程.下面以例子来演示一下swift中使用线程. 其用包括常见的:NSThread,NSOperationQueue,GCG import UIKit class swiftThreadDemo : UIViewController { var queue = NSOperation

[爱上Swift] day 6:在TableView中加载自定义TableViewCell

前言 TableView可以帮助我们现实通用的列表样式,如这样: 但是我们有时有需要一些更具定制化的Cell,比如: 也就是说我们会在Cell中布局一些空间,更丰富的显示我们的信息. 让代码飞一会儿 首先我们自定义一个Swift class继承TableViewCell: import UIKit class CustomOneCell: UITableViewCell { @IBOutlet weak var middleLabel: UILabel! @IBOutlet weak var l

[爱上Swift] day7:[转]我的iOS工程结构

转自:http://www.cocoachina.com/ios/20140930/9810.html 好的架构不是设计出来的,而是进化而来的! 写在前面 从2011年底开始学习iOS开发,到现在也已经快3年了,虽然中途没有一直进行iOS的开发(总是在Android和iOS间切换),但始终没有离开,而我现在的工作也一样,在iOS和Android间来回游走,正如我博客的slogan一样,“In Android&iOS”.其实对我来说,两个平台没有绝对的好坏,我都喜欢.我都热爱.有人会说,同样的产品

[爱上Swift] day10:IOS 点击空白处隐藏键盘的几种方法

IOS7 点击空白处隐藏键盘的几种方法 IOS开发中经常要用到输入框,默认情况下点击输入框就会弹出键盘,但是必须要实现输入框return的委托方法才能取消键盘的显示,对于用户体验来说很不友好,我们可以实现点击键盘以外的空白区域来将键盘隐藏,以下我总结出了几种隐藏键盘的方法: 首先说明两种可以让键盘隐藏的Method: 1.[view endEditing:YES]  这个方法可以让整个view取消第一响应者,从而让所有控件的键盘隐藏. 2.[textFiled resignFirstRespon