
swift app
badman250
专注分享IT知识技能
展开
-
swift启动流程
info.plist 为了提供更好的用户体验,IOS 和 OS X的每个app或bundle都依赖于特殊的元信息(meta Information). 有多种用途,包括直接向用户展示信息,系统内部用来标识你的app或其支持的文档类型系统框架用来辅助app的加载,通过一种特殊的信息属性列表文件,app向系统提供自己的元信息。 属性列表可用来构建任意数据,这原创 2017-03-07 23:17:37 · 30846 阅读 · 0 评论 -
18、swift开发iOS——结构体
Swift 结构体Swift 结构体是构建代码所用的一种通用且灵活的构造体。我们可以为结构体定义属性(常量、变量)和添加方法,从而扩展结构体的功能。与 C 和 Objective C 不同的是:结构体不需要包含实现文件和接口。结构体允许我们创建一个单一文件,且系统会自动生成面向其它代码的外部接口。结构体总是通过被复制的方式在代码中传递,因此它的值是不可修改的。语法我原创 2017-03-11 22:01:11 · 30519 阅读 · 0 评论 -
19、swift开发iOS——类
Swift 类Swift 类是构建代码所用的一种通用且灵活的构造体。我们可以为类定义属性(常量、变量)和方法。与其他编程语言所不同的是,Swift 并不要求你为自定义类去创建独立的接口和实现文件。你所要做的是在一个单一文件中定义一个类,系统会自动生成面向其它代码的外部接口。类和结构体对比Swift 中类和结构体有很多共同点。共同处在于:定义属性用于存储值定义方法用于提供原创 2017-03-11 22:01:35 · 30428 阅读 · 0 评论 -
20、swift开发iOS——属性
Swift 属性Swift 属性将值跟特定的类、结构或枚举关联。属性可分为存储属性和计算属性:存储属性 计算属性存储常量或变量作为实例的一部分 计算(而不是存储)一个值用于类和结构体 用于类、结构体和枚举存储属性和计算属性通常用于特定类型的实例。属性也可以直接用于类型本身,这种属性称为类型属性。另外,还可以定义属性观察器来监控属性值的变化,以此来触发一个自定义的操作原创 2017-03-11 22:01:59 · 30577 阅读 · 0 评论 -
第一个iPhone程序开发
真机调试真机调试 在xcode8中可以直接编译。选择真机在windows的 devices设备左边选择真机。开始调试点击 Use for Development,对弹出的对话框都选择 “拒绝” 或 “Cancel”。现在点击 Run 按钮,你就能在设备上运行你的程序了。TIPS删除项目直接在FINDER中删除即可。原创 2017-03-21 23:00:16 · 30633 阅读 · 0 评论 -
21、swift开发iOS——方法
Swift 方法Swift 方法是与某些特定类型相关联的函数在 Objective-C 中,类是唯一能定义方法的类型。但在 Swift 中,你不仅能选择是否要定义一个类/结构体/枚举,还能灵活的在你创建的类型(类/结构体/枚举)上定义方法。实例方法在 Swift 语言中,实例方法是属于某个特定类、结构体或者枚举类型实例的方法。实例方法提供以下方法:可以访问和修改实例属性原创 2017-03-12 23:19:04 · 30438 阅读 · 0 评论 -
22、swift开发iOS——下标脚本
Swift 下标脚本下标脚本 可以定义在类(Class)、结构体(structure)和枚举(enumeration)这些目标中,可以认为是访问对象、集合或序列的快捷方式,不需要再调用实例的特定的赋值和访问方法。举例来说,用下标脚本访问一个数组(Array)实例中的元素可以这样写 someArray[index] ,访问字典(Dictionary)实例中的元素可以这样写 someDicti原创 2017-03-12 23:19:26 · 30295 阅读 · 0 评论 -
23、swift开发iOS——继承
Swift 继承继承我们可以理解为一个类获取了另外一个类的方法和属性。当一个类继承其它类时,继承类叫子类,被继承类叫超类(或父类)在 Swift 中,类可以调用和访问超类的方法,属性和下标脚本,并且可以重写它们。我们也可以为类中继承来的属性添加属性观察器。基类没有继承其它类的类,称之为基类(Base Class)。以下实例中我们定义了基类 StudDetails ,描述原创 2017-03-12 23:19:46 · 30483 阅读 · 0 评论 -
24、swift开发iOS——构造过程
Swift 构造过程构造过程是为了使用某个类、结构体或枚举类型的实例而进行的准备过程。这个过程包含了为实例中的每个属性设置初始值和为其执行必要的准备和初始化任务。Swift 构造函数使用 init() 方法。与 Objective-C 中的构造器不同,Swift 的构造器无需返回值,它们的主要任务是保证新实例在第一次使用前完成正确的初始化。类实例也可以通过定义析构器(deiniti原创 2017-03-12 23:20:11 · 30634 阅读 · 0 评论 -
25、swift开发iOS——析构函数
Swift 析构过程在一个类的实例被释放之前,析构函数被立即调用。用关键字deinit来标示析构函数,类似于初始化函数用init来标示。析构函数只适用于类类型。析构过程原理Swift 会自动释放不再需要的实例以释放资源。Swift 通过自动引用计数(ARC)处理实例的内存管理。通常当你的实例被释放时不需要手动地去清理。但是,当使用自己的资源时,你可能需要进行一些额外的清理。原创 2017-03-12 23:20:36 · 30728 阅读 · 0 评论 -
26、swift开发iOS——可选链
Swift 可选链可选链(Optional Chaining)是一种是一种可以请求和调用属性、方法和子脚本的过程,用于请求或调用的目标可能为nil。可选链返回两个值:如果目标有值,调用就会成功,返回该值如果目标为nil,调用将返回nil多次请求或调用可以被链接成一个链,如果任意一个节点为nil将导致整条链失效。可选链可替代强制解析通过在属性、方法、或下标脚本的可选值后面原创 2017-03-12 23:21:04 · 30614 阅读 · 0 评论 -
27、swift开发iOS——自动引用计数
Swift 自动引用计数(ARC)Swift 使用自动引用计数(ARC)这一机制来跟踪和管理应用程序的内存通常情况下我们不需要去手动释放内存,因为 ARC 会在类的实例不再被使用时,自动释放其占用的内存。但在有些时候我们还是需要在代码中实现内存管理。ARC 功能当每次使用 init() 方法创建一个类的新的实例的时候,ARC 会分配一大块内存用来储存实例的信息。内存中会包含原创 2017-03-12 23:21:28 · 30421 阅读 · 0 评论 -
28、swift开发iOS——类型转换
Swift 类型转换Swift 语言类型转换可以判断实例的类型。也可以用于检测实例类型是否属于其父类或者子类的实例。Swift 中类型转换使用 is 和 as 操作符实现,is 用于检测值的类型,as 用于转换类型。类型转换也可以用来检查一个类是否实现了某个协议。定义一个类层次类型转换用于检测实例类型是否属于特定的实例类型。你可以将它用在类和子类的层次结构上,检查特定类实例原创 2017-03-12 23:22:06 · 30516 阅读 · 0 评论 -
29、swift开发iOS——扩展
Swift 扩展扩展就是向一个已有的类、结构体或枚举类型添加新功能。扩展可以对一个类型添加新的功能,但是不能重写已有的功能。Swift 中的扩展可以:添加计算型属性和计算型静态属性定义实例方法和类型方法提供新的构造器定义下标定义和使用新的嵌套类型使一个已有类型符合某个协议语法扩展声明使用关键字 extension:extension SomeType原创 2017-03-12 23:22:44 · 30512 阅读 · 0 评论 -
30、swift开发iOS——协议
Swift 协议协议规定了用来实现某一特定功能所必需的方法和属性。任意能够满足协议要求的类型被称为遵循(conform)这个协议。类,结构体或枚举类型都可以遵循协议,并提供具体实现来完成协议定义的方法和功能。语法协议的语法格式如下:protocol SomeProtocol { // 协议内容}要使类遵循某个协议,需要在类型名称后加上协议名称,中间以冒号:原创 2017-03-12 23:23:11 · 30562 阅读 · 0 评论 -
31、swift开发iOS——泛型
Swift 泛型Swift 提供了泛型让你写出灵活且可重用的函数和类型。Swift 标准库是通过泛型代码构建出来的。Swift 的数组和字典类型都是泛型集。你可以创建一个Int数组,也可创建一个String数组,或者甚至于可以是任何其他 Swift 的类型数据数组。以下实例是一个非泛型函数 exchange 用来交换两个 Int 值:// 定义一个交换两个变量的函数fu原创 2017-03-12 23:23:33 · 30560 阅读 · 0 评论 -
17、swift开发iOS——枚举
Swift 枚举枚举简单的说也是一种数据类型,只不过是这种数据类型只包含自定义的特定数据,它是一组有共同特性的数据的集合。Swift 的枚举类似于 Objective C 和 C 的结构,枚举的功能为:它声明在类中,可以通过实例化类来访问它的值。枚举也可以定义构造函数(initializers)来提供一个初始成员值;可以在原始的实现基础上扩展它们的功能。可以遵守协议(proto原创 2017-03-11 22:00:42 · 30202 阅读 · 0 评论 -
16、swift开发iOS——闭包
Swift 闭包闭包(Closures)是自包含的功能代码块,可以在代码中使用或者用来作为参数传值。Swift 中的闭包与 C 和 Objective-C 中的代码块(blocks)以及其他一些编程语言中的 匿名函数比较相似。全局函数和嵌套函数其实就是特殊的闭包。闭包的形式有:全局函数 嵌套函数 闭包表达式有名字但不能捕获任何值。 有名字,也能捕获封闭函数内的值。 无名原创 2017-03-11 22:00:13 · 30348 阅读 · 0 评论 -
5、swift开发iOS——可选类型
Swift 可选(Optionals)类型Swift 的可选(Optional)类型,用于处理值缺失的情况。可选表示"那儿有一个值,并且它等于 x "或者"那儿没有值"。Swfit语言定义后缀?作为命名类型Optional的简写,换句话说,以下两种声明是相等的:var optionalInteger: Int?var optionalInteger: Optional在这两种情原创 2017-03-07 23:18:11 · 30564 阅读 · 0 评论 -
6、swift开发iOS——常量
Swift 常量常量一旦设定,在程序运行时就无法改变其值。常量可以是任何的数据类型如:整型常量,浮点型常量,字符常量或字符串常量。同样也有枚举类型的常量:常量类似于变量,区别在于常量的值一旦设定就不能改变,而变量的值可以随意更改。常量声明常量使用关键字 let 来声明,语法如下:let constantName = 以下是一个简单的 Swift 程序中使用常量的实例:原创 2017-03-07 23:18:35 · 30395 阅读 · 0 评论 -
7、swift开发iOS——字面量
Swift 字面量所谓字面量,就是指像特定的数字,字符串或者是布尔值这样,能够直接了当地指出自己的类型并为变量进行赋值的值。比如在下面:let aNumber = 3 //整型字面量let aString = "Hello" //字符串字面量let aBool = true //布尔值字面量整型字面量整型字面量可以是一个十进制,二进制,八进原创 2017-03-07 23:19:08 · 30357 阅读 · 0 评论 -
1、swift开发iOS——基础
swift开发iphone appSWIFTSwift 是一种支持多编程范式和编译式的开源编程语言,苹果于2014年WWDC(苹果开发者大会)发布,用于开发 iOS,OS X 和 watchOS 应用程序。Swift 结合了 C 和 Objective-C 的优点并且不受 C 兼容性的限制。Swift 在 Mac OS 和 iOS 平台可以和 Object-C 使用相同的运原创 2017-02-26 12:05:54 · 30719 阅读 · 0 评论 -
2、swift开发iOS——swift语法
Swift 引入我们可以使用 import 语句来引入任何的 Objective-C 框架(或 C 库)到 Swift 程序中。例如 import cocoa 语句导入了使用了 Cocoa 库和API,我们可以在 Swift 程序中使用他们。Cocoa 本身由 Objective-C 语言写成,Objective-C 又是 C 语言的严格超集,所以在 Swift 应用中我们可以很简单的混入原创 2017-02-26 12:08:33 · 30525 阅读 · 0 评论 -
3、swift开发iOS——swift数据类型
Swift 数据类型 在程序语言编程时,需要使用各种数据类型来存储不同的信息。变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。在声明变量时也可指定它的数据类型。所有变量都具有数据类型,以决定能够存储哪种数据。内置数据类型Swift 提供了非常丰富的数据类型,以下列出了常用了几种数据类型:Int一般来说,不需要专门指定整数的长度。Swift 提供原创 2017-03-07 23:14:33 · 30273 阅读 · 0 评论 -
4、swift开发iOS——变量
Swift 变量变量是一种使用方便的占位符,用于引用计算机内存地址。Swift 每个变量都指定了特定的类型,该类型决定了变量占用内存的大小,不同的数据类型也决定可存储值的范围。上节介绍了基本的数据类型,包括整形Int、浮点数Double和Float、布尔类型Bool以及字符串类型String。此外,Swift还提供了其他更强大数据类型, Optional, Array, Diction原创 2017-03-07 23:16:37 · 30311 阅读 · 0 评论 -
8、swift开发iOS——运算符
Swift 运算符运算符是一个符号,用于告诉编译器执行一个数学或逻辑运算。Swift 提供了以下几种运算符:算术运算符比较运算符逻辑运算符位运算符赋值运算符区间运算符其他运算符算术运算符以下表格列出了 Swift 语言支持的算术运算符,其中变量 A 为 10,变量 B 为 20:运算符 描述 实例+ 加号 A + B 结果为 30− 减号 A原创 2017-03-11 21:56:09 · 30475 阅读 · 0 评论 -
9、swift开发iOS——条件语句
Swift 条件语句条件语句通过设定的一个或多个条件来执行程序,在条件为真时执行指定的语句,在条件为 false 时执行另外指定的语句。Swift 提供了以下几种类型的条件语句:if 语句if 语句 由一个布尔表达式和一个或多个执行语句组成。if...else 语句if 语句 后可以有可选的 else 语句, else 语句在布尔表达式为 false 时执行。i原创 2017-03-11 21:56:44 · 30505 阅读 · 0 评论 -
10、swift开发iOS——循环
Swift 循环有的时候,我们可能需要多次执行同一块代码。一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。编程语言提供了更为复杂执行路径的多种控制结构。循环语句允许我们多次执行一个语句或语句组,下面是大多数编程语言中循环语句的流程图:循环结构循环类型Swift 语言提供了以下几种循环类型。for-in遍历一个集合里面的所有元素,原创 2017-03-11 21:57:11 · 30482 阅读 · 0 评论 -
11、swift开发iOS——字符串
Swift 字符串Swift 字符串是一系列字符的集合。例如 "Hello, World!" 这样的有序的字符类型的值的集合,它的数据类型为 String。创建字符串你可以通过使用字符串字面量或 String 类的实例来创建一个字符串:import Cocoa// 使用字符串字面量var stringA = "Hello, World!"print( strin原创 2017-03-11 21:57:40 · 30454 阅读 · 0 评论 -
12、swift开发iOS——字符
Swift 字符(Character)Swift 的字符是一个单一的字符字符串字面量,数据类型为 Character。以下实例列出了两个字符实例:import Cocoalet char1: Character = "A"let char2: Character = "B"print("char1 的值为 \(char1)")print("char2 的原创 2017-03-11 21:58:17 · 30443 阅读 · 0 评论 -
13、swift开发iOS——数组
Swift 数组 Swift 数组使用有序列表存储同一类型的多个值。相同的值可以多次出现在一个数组的不同位置中。Swift 数组会强制检测元素的类型,如果类型不同则会报错,Swift 数组应该遵循像Array这样的形式,其中Element是这个数组中唯一允许存在的数据类型。如果创建一个数组,并赋值给一个变量,则创建的集合就是可以修改的。这意味着在创建数组后,可以通过添加、删除、修原创 2017-03-11 21:58:41 · 30350 阅读 · 0 评论 -
14、swift开发iOS——字典
Swift 字典Swift 字典用来存储无序的相同类型数据的集合,Swift 字典会强制检测元素的类型,如果类型不同则会报错。Swift 字典每个值(value)都关联唯一的键(key),键作为字典中的这个值数据的标识符。和数组中的数据项不同,字典中的数据项并没有具体顺序。我们在需要通过标识符(键)访问数据的时候使用字典,这种方法很大程度上和我们在现实世界中使用字典查字义的方法一样。原创 2017-03-11 21:59:03 · 30380 阅读 · 0 评论 -
15、swift开发iOS——函数
Swift 函数Swift 函数用来完成特定任务的独立的代码块。Swift使用一个统一的语法来表示简单的C语言风格的函数到复杂的Objective-C语言风格的方法。函数声明: 告诉编译器函数的名字,返回类型及参数。函数定义: 提供了函数的实体。Swift 函数包含了参数类型及返回值类型:函数定义Swift 定义函数使用关键字 func。定义函数的时候,可以指定一个原创 2017-03-11 21:59:42 · 30500 阅读 · 0 评论 -
32、swift开发iOS——访问控制
Swift 访问控制访问控制可以限定其他源文件或模块中代码对你代码的访问级别。你可以明确地给单个类型(类、结构体、枚举)设置访问级别,也可以给这些类型的属性、函数、初始化方法、基本类型、下标索引等设置访问级别。协议也可以被限定在一定的范围内使用,包括协议里的全局常量、变量和函数。访问控制基于模块与源文件。模块指的是以独立单元构建和发布的Framework或Application原创 2017-03-12 23:24:01 · 30581 阅读 · 0 评论