摘要:
/* 继承与构造方法: 指定构造与便利构造器方法 */ class Person { var name:String var age:Int //指定构造方法都是以init开头 init(name:String, age:Int) { self.name = name self.age = age 阅读全文
posted @ 2017-08-15 16:49
路人Q
阅读(235)
评论(0)
推荐(0)
摘要:
/* Swift内存管理: 1.管理引用类型的内存, 不会管理值类型, 值类型不需要管理; 2.内存管理原则: 当没任何强引用指向对象, 系统会自动销毁对象(默认情况下所有的引用都是强引用); 3.如果做到该原则: ARC 自动回收内存 */ class Person { var name:Stri 阅读全文
posted @ 2017-08-15 16:28
路人Q
阅读(200)
评论(0)
推荐(0)
摘要:
/* 算术运算符: 除了取模, 其它和OC一样, 包括优先级 + - * / % ++ -- */ var result = 10 + 10 result = 10 - 10 result = 10 * 10 result = 10 / 10 print(result) /* 注意:Swift是安全 阅读全文
posted @ 2017-08-15 16:15
路人Q
阅读(236)
评论(0)
推荐(0)
摘要:
/* 可选值: optionals 有两种状态: 1.有值 2.没有值, 没有值就是nil */ //有值 var optValue1: Int? = 9 //没有值 var optValue2: Int? var optValue3: Int? = nil /* 可选值可以用if语句来进行判断 * 阅读全文
posted @ 2017-08-15 16:03
路人Q
阅读(229)
评论(0)
推荐(0)
摘要:
/* 基本数据类型 OC: 整型 int intValue = 10; 浮点型 double doubleValue = 10.10; float floatValue = 5.1; 长 long 短 short 有符号 signed 无符号 unsigned 各种类型的数据的取值范围在不同位的编译 阅读全文
posted @ 2017-08-15 15:37
路人Q
阅读(184)
评论(0)
推荐(0)
摘要:
/* 可选类型: 可选类型的本质其实是一个枚举; None 没有值 Some 有值 格式: Optional<类型> 或者在类型后面加上?号 由于可选类型在Swift中随处可见, 所有系统做了这个语法糖, 在类型后面加上? */ var opa: Optional<Int> var opb: Int 阅读全文
posted @ 2017-08-15 15:23
路人Q
阅读(343)
评论(0)
推荐(0)
摘要:
/* 扩展: 就是给一个现存类, 结构体, 枚举或者协议添加新的属性挥着方法的语法, 无需目标源码, 就可以吧想要的代码加到目标上面 但有一些限制条件需要说明: 1.不能添加一个已经存在的方法或者属性; 2.添加的属性不能是存储属性, 只能是计算属性; 格式: extension 某个先有类型{ / 阅读全文
posted @ 2017-08-15 14:54
路人Q
阅读(227)
评论(0)
推荐(0)
摘要:
/** 协议 **/ //// 1.定义协议 //格式:协议的定义方式与类, 结构体, 枚举的定义非常相似 protocol SomeProtocol { //协议方法 } //协议可以继承一个或者多个协议 protocol SomeProtocol2:SomeProtocol { //协议定义 } 阅读全文
posted @ 2017-08-15 14:38
路人Q
阅读(253)
评论(0)
推荐(0)
摘要:
/* 泛型: 之前我们介绍数组和可选型的时候, 我们已接触到泛型, 泛型代码可以确保写出灵活的, 可重用的函数 */ /// 在Swift中, 有参数的函数必须指定参数的类型, 现在有几个同名的函数实现相似的功能, 但是参数的类型不同, 例如: /* func show(para:Int) { pr 阅读全文
posted @ 2017-08-15 14:17
路人Q
阅读(266)
评论(0)
推荐(0)
摘要:
/* 断言: 当程序发生异常时, 如果希望找到出错位置并打印一个消息, 就可以使用断言, 即通过一个全局的函数 assert assert 接受一个闭包作为其第一个参数, 第二个参数是一个字符串; 假如第一个闭包返回的是一个false, 那么这个字符串就会被打印到中控制台上, assert格式如下: 阅读全文
posted @ 2017-08-15 13:57
路人Q
阅读(301)
评论(0)
推荐(0)
摘要:
// // main.swift // Swift_Other // // Created by 齐彦坤 on 2017/7/21. // Copyright © 2017年 KG. All rights reserved. // // 2.3 与 3.0 迁移对比 http://www.jians 阅读全文
posted @ 2017-08-15 12:30
路人Q
阅读(401)
评论(0)
推荐(0)
摘要:
/* Swith 格式: switch(需要匹配的值) case 匹配的值: 需要执行的语句 break; OC: char rank = 'A'; switch (rank) { case 'A': NSLog(@"优"); break; case 'B': NSLog(@"良"); break; 阅读全文
posted @ 2017-08-15 12:13
路人Q
阅读(259)
评论(0)
推荐(0)
摘要:
/* 数组定义: OC: 有值数组 NSArray *arr0 = @[@1, @2, @3]; NSArray *arr1 = [NSArray arrayWithObjects:@1, @2, @3, nil]; NSLog(@"%@", arr1); 空数组 NSArray *arr2 = @ 阅读全文
posted @ 2017-08-15 11:46
路人Q
阅读(318)
评论(0)
推荐(0)
摘要:
/* 元祖: 在其它语言中很早就是有元祖这个概念, 但是对于OC程序员来说这是一个新的概念 将多个相同或者不同类型的值用一个小括号括起来就是一个元祖 */ let student = ("xiaohange",30,99.8) print(student) print(student.0) prin 阅读全文
posted @ 2017-08-15 11:35
路人Q
阅读(365)
评论(0)
推荐(0)
摘要:
/* Swift不允许隐式类型转换, 但可以使用显示类型转换(强制类型转换) OC: int intValue = 10; double doubleValue = (double)intValue; Swift: */ var intValue:Int = 10 var doubleValue:D 阅读全文
posted @ 2017-08-15 11:21
路人Q
阅读(1437)
评论(0)
推荐(0)
摘要:
/* 基本数据类型 OC: 整型 int intValue = 10; 浮点型 double doubleValue = 10.10; float floatValue = 5.1; 长 long 短 short 有符号 signed 无符号 unsigned 各种类型的数据的取值范围在不同位的编译 阅读全文
posted @ 2017-08-15 11:19
路人Q
阅读(175)
评论(0)
推荐(0)
摘要:
/* 输出: C: printf("Hello, World!"); OC:NSLog(@"Hello, World!"); Swift1.2:println("Hello, World!") Swift3.0:print("Hello, World!") */ print("Hello, Worl 阅读全文
posted @ 2017-08-15 11:03
路人Q
阅读(233)
评论(0)
推荐(0)