IOS 应用开发

一、Swift简述

1.1初识Swift

Swift是苹果在WWDC 2014所发布的一门语言,用于开发IOS的OS X应用程序。

2010年7月LLVM编译器的原作者苹果开发工具部门总监克里斯·拉特纳开始着手开发Swift语言,一直到到2014年6月才发布

苹果宣称Swift的特点是:快速、现代、安全和具有交互性

Swift的处理速度非常快。Swift比Objective-c快1.4倍,比python快3.9倍。

 

在很多语法特性上Swift和一些脚本确实非常相似。但是,在应用程序开发中,Swift不是以一门脚本语言来运行的,所有的Swift代码都会被LLVM编译为本地代码,然后以极高的效率运行。

 

Swift和Objective-c都是类型安全的语言,变量和方法都有明确的返回,并且变量在使用前需要进行初始化。而在语法方面,Swift迁移到了业界公认的非常先进的语法体系,其中包含了闭包、多返回和大量的函数式编程的理念,函数终于可以作为变量保存了。初步看来,Swift语法上借鉴了Ruby的很多人性化设计,但借助苹果自己手中强大的LLVM编译器,在性能上必然要甩开Ruby很远。

 

从另一方面说,Swift的代码又是可以通过交换来解释执行的。Xcode6加入了所谓的Playground功能来对开发者输入Swift语句。这里之所以把“解释”两个字打上双引号,是因为即使在命令行工具交互地执行Swift语句。

 

1.2了解Playground

本书使用Xcode 6 beta4 作为开发工具,与之前发布的beta1版本相比,beta4对Swifit语言做了大幅修改。开发者可以使用Swift来编写更好、更安全的应用程序,而且新版本的Swift也修正了许多开发者提出的请求,尤其是对数组进行了重新设计。但是beta版本毕竟不同与正式版,依然存在着许多Bug。

 

1.2.1Playground的编辑器模式

Playground是什么呢?它是xcode6中引入的一种文档类型,在该文档类型的文件中封装了一些有用的东西,其中包括全部的swift代码。swift代码会在playground环境中实时运行,并且只要我们在playground中编辑swift代码,就会马上自动显示结果。swift文档也能包含一个文件夹,里面可以内嵌那些供代码使用的资源。

 

例如:

 

 在上诉代码中,首先定义了变量string,然后通过加号将3个字符串链接并赋值给它。

变量string是String类型,当我们生命常量或变量的时候,通过加上类型标注来说明常量或变量中要存储的类型。方法是在常量或变量名后面加上一个冒号和空格,再加上类型名称。之前的声明语句也可以写成下面这样。

var string: String = "hello" + " " + "world"

除了数字类型时间轴中还可以显示字符串、颜色和图像类型。当我们使用println函数的时候,在时间轴上还会显示控制控制台输出项目。

当时间轴中有太多的Value History项目,想要收起某个临时不用想吗点,点击该项目顶端的表达式即可。

在当前swfit代码的结尾处添加下面的代码:

let color = UIColor.blueColor()

 

2.创建第一个项目

(1)打开xcode工具,选择File-》New-〉Project

(2)选择“single View Application”,并点击“next”,创建一个简单实例app应用

(3)输入项目名,公司名称、公司标识前缀名

 

3.项目目录

Hellow World

Hellow WorldTests

Hellow WorldUITests

Products

 

一个项目总共有以上四个项目,

3.1Hellow World目录

从目录中可以看出总共有6个文件,AppDelegate.swift、ViewController.swift、

Main.storyboard、Assets.xcassets、LaunchScreen.storyboard、Info.plist。

 

3.2打开main.storyboard,默认看到一个简单的空白应用界面,大小为平板界面大小。如果开发都只需要开发兼容iphone手机的app,那么可以把Use Auto Layout的勾选去掉

 

二、Swift基本语法

如果创建的是OS X playgroud 需要引入Cocoa,例如

import Cocoa

var myString = “Hello World!”

print(myString)

如果我们想要创建IOS playground则需要引入UIKit

import UIKit;

var myString = “Hello,World!”

print(myString)

 

标识符

标识符就是给变量、常量、方法、函数、枚举、结构体、类、协议等指定名字。构成标识符的字母均有一定的规范,Swift语言中标识符的命名规则如下:

区分大小写,Myname与myname是两个不同的标识符;

标识符首字符可以以下划线(_)或者字母开始,但不能是数字;

标识符中其他字符可以是下划线(_)、字母或数字;

例如:userName、User_Name、sys_val、hign等为合法的标识符,而2mail、room#和class为非法标识符。

 

swift空格

Swift空格并不是箱c/C++,Java那样完全忽视空格,Swift对空格的使用有一定的要求,但又不像Python对缩进的要求那么严格。在Swift中,运算符不能直接跟在变量或常量的后面。

let a = 1 + 2

 

打印输出

Swift使用print函数打印输出:

print("Runnable")//输出

 

print函数是一个全局函数,完整的函数签名为:

public func print(items:Arry...,separator:String = defualt, Iteminator: String default)

 

如果我们箱让其不换行输出,只需要 

print("\(x)",terminator: "")

 

接收用户的输入可以使用readLine()

 

三、Swift数据类型

3.1内置数据类型

Int

一般来说,你不需要专门指定整数的长度。Swift提供了一个特殊的整数类型Int,长度与当前平台的原生字长相同。

在32位平台上,Int和Int32长度相同。

在64位平台上,Int和Int64长度相同。

 

UInt

Swift也提供了一个特殊的无符号UInt,长度与当前平台的原生字长相同:

 

浮点数:Float、Double

浮点数是有小数不法的数字,比如3.1415,0.1和-23.5

浮点类型笔整数类型表示的范围更大,可以存储比Int类型更大或者更小的数字。Swift提供两种有符号浮点数类型:

Double表示64位浮点数。当需要存储很大或者很高精度的浮点数时请用此类型。

Float表示32位浮点数。精度邀请不高的话可以使用此类型

 

布尔值:Bool

Swift有一个基本的布尔类型,叫做Bool。布尔值指逻辑上的值,因为它们只能是真或者假。Swift有两个布尔常量,true和false。

 

字符创:String

字符串是字符的序列集合,例如:

“Hello world”

 

字符Character

字符指的是单个字母:

“C”

 

可选类型Optional

使用可选elixir来处理值可能缺失的情况。可选类型表示有值和没有值:

数值范围

下表显示了不同变量类型内存的存储空间,及变量类型的最大最小值:

类型别名

typealias newname = type

例如以下定义了Int的类型别名为Feet:

typealias Feet = Int

 

import Cocoa

typealias Feet = Int

var distance: Feet = 100

print(distance)

 

类型安全

Swift是一个类型安全的语言。

由于Swift是类型安全的, 所以它会在编译你的代码时进行类型检查,并把不匹配的类型标记为错误。这可以让你在开发的时候尽早发现并修复错误。

import Cocoa

var varA = 42

varA = “This is hello”

print(varA)

posted @ 2021-12-22 14:35  周千  阅读(575)  评论(0编辑  收藏  举报