开始用Swift开发iOS 10 - 2 Hello World!第一个Swift APP

预览.png

"Hello,World"已经成为编程世界里开始的惯例。

开始:先动起来,忘记代码

  1. 打开Xcode,选择"Create a new Xcode project"
Xcode - Welcome Dialog.png
  1. 选择 iOS > Single View Application and click Next
Xcode Project Template Selection.png
  1. 填写项目的一些选项:
Options for your new project.png
  • Product Name: HelloWorld - app的名字
  • Team - Apple ID
  • Organization Name: andyron - 这一般是组织的名字,或个人用户的名字;尽量保持不与别人重复
  • Organization Identifier: cn.andyron
  • Bundle Identifier: com.andyron.HelloWorld - 根据Organization IdentifierProduct Name自动组合而成
  • Language: Swift
  • Devices: iPhone
  • Use Core Data: [unchecked]
  • Include Unit Tests: [unchecked]
  • Include UI Tests: [unchecked]
  1. 选择一个项目保持位置,然后生成项目

熟悉Xcode界面

Xcode Help中详细介绍了Xcode,主界面如下:

Xcode主界面

主要分六个区域:

  1. Toolbar(工具栏)
  1. Tab bar(便签页栏):类似浏览器的标签页,快捷键也和大部分软件的相同(⌘+T新建,⌘+W关闭),单个标签页时是隐藏的
  2. Navigator area(导航区域)
    这个区域最上面有八个图标(快捷键分别对应⌘+1 ~ ⌘+8):
    • project navigator(源代码文件、图片文件、数据模型、属性列表等)
    • symbol navigator(编译器能识别的:OC类、枚举类型、结构体、全局变量)
    • find navigator
    • issues navigator
    • test navigator
    • debug navigator
    • breakpoint navigator
    • log navigator
  3. Editor area(编辑区)
    这个区域最上面是jump bar(跳转栏)


  4. Debug area
  5. Utilities area(实用工具面板)



    分上下两块:

  • Inspector pane(检查器):选择不同文件会有不同个数的检查器,最多六个(快捷键分别对应⌘+option+1 ~ ⌘+option+6)。
  • Library pane(库面版, 快捷键分别对应⌘+option+control+1 ~ ⌘+option+control+4)
    • 文件库模板(File Template Library) : 管理文件模板, 可以快速创建指定类型文件, 可以直接拖入项目中;
    • 代码片段库(Code Snippet Library) : 管理各种代码片段, 可以直接拖入源代码中;
    • 对象库(Object Library) : 界面组件, 可以直接拖入 故事板中;
    • 媒体库(Media Library) : 管理各种 图片, 音频 等多媒体资源;

第一次运行App

Run和Stop分别对应 ⌘+R⌘+.,Simulator用于选择模拟器或真实设备

Run and Stop Buttons

快速了解Interface Builder(IB)

project navigator中选择main.storyboard

The Interface Builder Editor.png

The Interface Builder editor为创造和设计app的UI提高了一个可视化的方法。在这里既可以设计单个页面,也可以设计多个页面。可以直接从右下角Object library拖动可用对象到IB中。
当开始新建项目,选择了Single View Application模板时,Xcode默认在storyboard中生成一个view controller scene,对应一个view controller通常app的每一个screen代表一个view controller。
The Document Outline view在选择storyboard特定对象时特别有用。

设计UI

  • 拖动一个Button到IB中
    Drag the Button to the View.png
  • 双击Button或在属性检查器中修改name为"Hello World**
  • 根据蓝色虚线辅助线可以把Button拖到中心位置

写代码

  • 选择main.storyboard,点击工具栏右侧的Assistant editor(option+⌘+return),编辑区出现两部分,Ctrl拖动按钮到右侧ViewController类中:

然后写下如下代码:

@IBAction func showMessage() {
    let alertController = UIAlertController(title: "Welcome to My First App",
message: "Hello World", preferredStyle: UIAlertControllerStyle.alert)
    alertController.addAction(UIAlertAction(title: "OK", style:
UIAlertActionStyle.default, handler: nil))
    present(alertController, animated: true, completion: nil)
}

上面的方法是先连接关系,然后写代码;也可以先写好代码,然后建立关系:


@IBAction表示一个Action的标识符,没有特殊意义,当建立好关系后,@IBAction右侧会出现一个实心的点,点击会出现会出现以个弹框表示连接的地方:

  • 修改按钮的颜色。选中按钮,在属性检查器中修改对应属性


测试应用

选择特定的模拟器或设备,⌘+R

Hello world 应用中事件流

Event flow.png

更近一步

  • 同上的方法添加几个按钮,并修改button的name为一些emoji表情(control+⌘+space
  • 添加@IBAction方法代码
  • 通过先写好代码然后建立关系的方法,把几个button都与同一个@IBAction方法建立关系

代码

HelloWorld
HelloWordExercise

说明

此文是学习appcode网站出的一本书 《Beginning iOS 10 Programming with Swift》 的一篇记录

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 151,688评论 1 330
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 64,559评论 1 273
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 101,749评论 0 226
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 42,581评论 0 191
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 50,741评论 3 271
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 39,684评论 1 192
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,122评论 2 292
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 29,847评论 0 182
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 33,441评论 0 228
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 29,939评论 2 232
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,333评论 1 242
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 27,783评论 2 236
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,275评论 3 220
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,830评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,444评论 0 180
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 34,553评论 2 249
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 34,618评论 2 249

推荐阅读更多精彩内容