Swift基于cocoa Touch框架,苹果官方为了保证Swift的可靠性,结合多种语言的特性,同时独立了一套属于自己的单独语言,结合了C,C++,OC,Java等语言。
基本变量:
1 . swift具有倒推功能,它能够更具结果推算出对应swift语言中的类型
let: 定义常量,必须进行一次精确赋值
var:定义变量,可以进行多次赋
var variable: String = "vairable"
let const:Int = 250 同类变量Int32 Int64
//String 为变量类型,Int为常量类型,默认是可以省略的,但是Swift变量容易混淆,后续发生更改的时候报错就很难修正,建议最好不要省略;
var variable: Characters = "A"
// Characters 属于字符,如果此处不定义Characters类型,Swift反推类型时会优先自动定义为String类型,所以在定义Character(字符)类型的变量时候一定要加上:Charaters 定义。 它类似于C中的char
2. 对象创建,Swift改版后需要对象的方法直接改成了 点语法 格式
// 原来OC设置参数主要通过setXXX,或者 点语法,而Swift中主要采用(参数名字: 参数...) 的形式,而且括号里面的参数可以嵌套
let view = UIView(frame: CGRect(x: 100, y: 200, width: 300, height: 400))
view.backgroundColor = UIColor.redColor()
let btn = UISwitch(); //直接使用 类名+() 初始话实例对象
//对象的 点语法 照样适用
btn.setOn(true, animated: true);
btn.center = CGPoint(x: 50, y: 50)
view.addSubview(btn)
3. 基本数据类型
max, min分别表示该类型的最大数值和最小数值
var i:Int; i = 100; Int.min; Int.max; sizeof(Int)
var ui:UInt; UInt.min; UInt.max;
var i8:Int8; Int8.max; Int8.min;
var ui8:UInt8; UInt8.max; UInt8.min;
var f1:Float
isinfinity
Float32 Float Float64 Float80 Double
//tpypealias 重新可以将类型进行更名
typealias MyFloat = Float32 var f6:MyFloat
4. 常用方法
/**void属于无,返回值,参数,主要占位使用*/
sizeof(Void)
/**swift的中的Bool取值只有ture和false,不再具备OC语言的非0及真*/
sizeof(Bool)
字符代表某些Unicode字形集群规范所定义的本地化,或者定制的分割算法。一种特 殊的制服*/
sizeof(Character) 9bit
sizeof(String) 24bit
4 /**在c语言中,0代表8进制,在c语言中中015代表15,被swift忽略掉*/
var x = 15 x =015 x = 00005 x = 100_000_000_000
x = 185_ 8843_1460 x = 0b1110111 x = 0o15 x = oxff00ff00 y = 1.25E-2
5. string and characters:
print(str) //打印变量
if secondStr.isEmpty{
print(“secondStr is empty”)
secondStr += “abcd” //字符串相加
}
//通过字符数组 创建字符串 [String] 字符串数组,如果是放的字符,需要进行类型标注
var catCharaters:[Character] = [“C”,”a”,”t”]
var catString = String(catCharaters)
/**双引号转意字符 \"*/
var myStr = "\"哦耶啦啦\"---爱因斯坦"
print(myStr)
//格式化拼接,前面使用格式化,后面使用数组
var timeStr2 = String(format: "%02d:%02d:%02d", arguments: [hour,minute,second])
6. 值类型与引用类型 /**
1.值类型和引用类型,Swift中所有的结构体都是值类型
2.所有的类类型都属于引用型
3.String 值类型(结构体)
4.引用类型地址完全一样,Swift中引用类型常使用public class定义
5.值类型,及结构体类型,赋值后左右两边的地址不一样
*/
7. 运算符:
var a,b,c,d
a =10, b = 2
a = b = c = d =100; Swift赋值运算本质属于一个函数,返回值为void类型 ❌
a + b a - b a * b a/b -9/4 9/4
a > b a < b a !=b a > b ? a:b a +=b
var z:Int ?
规则:
-》Swift赋值运算本质属于一个函数,且返回值为viod类型,所有不能进行连等
-》Swift可以向C语言那样进行+/-* mod运算,取mod符号以除数为准
-》a++先取a再运算;++a,先运算再取a
-》var z:Int ? 其中?为选择类型,这样z可以赋值为