Swift
文章平均质量分 52
梦夜了又破晓
这个作者很懒,什么都没留下…
展开
-
Swift 类方法和实例方法
Swift 类方法和实例方法原创 2015-08-27 14:35:50 · 5263 阅读 · 0 评论 -
Swift 3.0 新特性
var arr = [100,200,300]for element in arr.reversed() { // 不会改变数组元素的排序 print(element)}print(arr)arr.reverse() // 改变数组元素的排序print(arr)打印结果:300200100[100, 200, 300][300, 200, 100]原创 2017-02-27 11:25:45 · 273 阅读 · 0 评论 -
Swift 类的继承 convenience required
看下面的代码class Person { var name: String var health:Int = 100 { didSet{ if self.health > 100 { self.health = 100 } if se原创 2017-02-18 16:52:58 · 1936 阅读 · 0 评论 -
Swift 集合类
Swift包含三种集合类数组 Array字典 Dictionary集合 Set数组原创 2017-02-09 18:05:01 · 225 阅读 · 0 评论 -
Swift 函数类型
在Swift中可以把函数当参数传入,代码如下// 函数类型func biggerFirst(a:Int, b:Int)->Bool { return a > b}var arr:[Int] = []for _ in 0...50 { var ramdom = arc4random()%1000 arr.append(Int(ramdom))}arr.s原创 2017-02-10 16:03:52 · 217 阅读 · 0 评论 -
Swift 闭包
代码如下 var numArray:[Int] = [];for _ in 0 ... 100 { numArray.append(random() % 1000)}numArray.sort({(a:Int , b:Int) -> Bool in return a > b})原创 2016-08-24 14:19:35 · 190 阅读 · 0 评论 -
Swift Extension 扩展
struct Point { var x = 0.0 var y = 0.0}struct Size { var width = 0.0 var height = 0.0}class Rectangle { var origin = Point() var size = Size() init(origin: Point原创 2017-02-20 11:21:00 · 1424 阅读 · 0 评论 -
Swift 结构体
感觉swift的结构体和类有点相似// 定义结构体struct Student { var name: String var age: Int var height: Float? // 可选型在构造函数中可以不必初始化 init(name: String, age: Int) { self.name = name原创 2017-02-15 11:25:58 · 301 阅读 · 0 评论 -
Swift guard使用
先看下面的代码// 如果name和age一个为空则返回nilfunc Person(name: String?, age: Int?) ->Bool { if name != nil { if age != nil { return true }else { return false }原创 2017-02-15 11:53:42 · 642 阅读 · 0 评论 -
Swift 枚举
// 枚举的定义enum Day { case sunday case monday case tuesday case wednesday case thursday case friday case saturday}let day = Day.mondayfunc getDayStatus(day:Day)->Void {原创 2017-02-13 22:30:51 · 240 阅读 · 0 评论 -
Swift protocol协议
在Swift里协议里可以定义属性,方法protocol Pet { var name: String {get set} var birthPlace: String {get} func playWith() func fed() mutating func changeName(name: String)}struct Dog:原创 2017-02-24 14:17:25 · 552 阅读 · 0 评论 -
swift之mutating关键字
在Swift中,包含三种类型(type): structure,enumeration,class其中structure和enumeration是值类型(value type),class是引用类型(reference type)但是与Objective-C不同的是,structure和enumeration也可以拥有方法(method),其中方法可以为实例方法(instanc转载 2017-02-16 10:22:36 · 5183 阅读 · 0 评论 -
Swift 隐式可选型
隐式可选型可以暂时存放一个nil原创 2017-02-09 15:54:20 · 323 阅读 · 0 评论 -
Swift 元组的定义和取值
原创 2017-02-09 14:21:45 · 3149 阅读 · 0 评论 -
Swift Optional Chaining and nil Coalesce
Optional Chaining上图ErrorMessage后面的?的意思是尝试解包,如果解包成功就执行后面的uppercased()方法,如果解包不成功停止执行,上图是解包成功的例子,下图是解包不成功的例子ErrorMessage 后面也可以跟!号,意思是程序员确保ErrorMessage可以解包,不然会直接崩溃解包失败解包成功原创 2017-02-09 11:52:22 · 310 阅读 · 0 评论 -
swift for循环的使用
// for-in for i in 1...4 { println(i) } // 如果用不到i的值,i 可以用_代替 for _ in 1...4 { println("********") } // 除了for-i原创 2015-09-12 10:49:44 · 1957 阅读 · 0 评论 -
OC Swift 混编
http://www.th7.cn/Program/IOS/201509/565867.shtml原创 2016-03-05 16:25:47 · 240 阅读 · 0 评论 -
swift 泛型
下面是一个泛型的函数func SwapTwoValues (inout a: T,inout b :T){ let tempValue = a a = b b = tempValue}这个函数主体、功能跟上面的例子类似,用来交换两个同样类型的值,但是这个函数用 T 占位符来代替实际的类型。并没有指定具体的类型,但是传入的a ,b 必须是同一类型T。在调用这个函转载 2016-08-30 17:14:02 · 242 阅读 · 0 评论 -
swift 变长参数
func getMean(value:Double ...) -> Double { var all:Double = 0 // 把变长参数当数组使用 for num in value { all += num } return all / Double(value.count)}getMean(1,2,3,4,5,6,54)getM原创 2016-08-23 18:36:00 · 701 阅读 · 0 评论 -
Swift 函数型参数
就是把函数名当参数代码如下:var numArray:[Int] = [];for _ in 0 ... 100 { numArray.append(random() % 1000)}func biggerNumberFrist(a:Int , b:Int) -> Bool { if a > b { return true } ret原创 2016-08-24 11:44:37 · 219 阅读 · 0 评论 -
Swift 枚举
代码如下enum ConnectServerStatus { case success(String) case error(Int) case waiting case lostConnect}func connect(status:Int?) -> ConnectServerStatus { if let status = status {原创 2016-08-25 10:04:33 · 249 阅读 · 0 评论 -
Swift 单例
代码如下class GameManager: NSObject { var score = 0 static let defaultManager = GameManager() private override init() { } func addScore() { score原创 2016-08-26 17:00:32 · 356 阅读 · 0 评论 -
Swift Calss
// 类是一种引用类型class Person { var firstName: String var lastName: String // 构造函数 init(firstName: String, lastName: String) { self.firstName = firstName self.lastName原创 2017-02-16 14:04:52 · 196 阅读 · 0 评论 -
Swift 类的属性观察器 didSet willSet
先看下面代码class LightBulb { static var maxPower:Int = 30 // 最大功率 var currentPower:Int = 0 { willSet(newCurrentPower){ // 将要赋值(括号里的是新值,也可以不填,直接用newValue) print("the p原创 2017-02-16 15:42:45 · 1101 阅读 · 0 评论 -
Swift 延迟属性 lazy
惯例先看代码class CloseRange{ var start: Int var end: Int // 非懒加载 var sum1: Int { var res = 0 for i in self.start...self.end { res += i } p原创 2017-02-16 17:11:38 · 1469 阅读 · 0 评论 -
Swift 可选型解包
在Swift中有可选型这一类型,但不能确定变量是否为空时就使用的话,编译器会直接报错这时候就要解包。在变量后面加上一个!,意思是说对编译器说这个变量不为nil 这里会有一个问题,假如这时候errorCode 为空会出现什么样的情况呢。编译器直接报错,因为这是在playground里写的代码,所有错误会直接显示出来,但在真正的项目中就不一定了。原创 2017-02-09 10:31:11 · 2057 阅读 · 0 评论 -
Swift 常用标准库协议
struct Size: Equatable, Comparable, CustomStringConvertible { // 相等的协议 var width: Double var height: Double var description: String { // CustomStringConvertible 协议的实现 return "原创 2017-02-24 16:04:28 · 812 阅读 · 0 评论