如果你以Objective-C为基础,进行学习Swift,本教程会起到事半功倍的效果,如果你没有编程的基础,那么本教程不适合你,请节省时间
本教程也非书籍一般,按部就班的学习,而是将一些Swift需要的技能,常用的知识点介绍给大家
创建完毕之后,发现和Objective-C是不一样的,没有.h文件,只有.swift文件,这是一个最大的区别,意味着,在swift的工程中所有自己创建的头文件都不用写了,非常非常爽如图:
1、在swift中对类型的要求特别严格,比如
let a = 0.5
let b = 1;
let c = a + b;//这里会报错
这在oc中是没有任何事情的。
解决办法:
let a = 0.5
let b = 1;
let c = a + (b as? Double)!;
as? Double就是让其自动转成double类型,?表示可选择的,代表不确定的 。 相反的 !代表一定,必须这个编译器会自动提示,不用纠结
2、那么 let 表示的意思是什么?请看
let a = 0.5
a = 1//这里会报错
let表示声明常量,解决办法:
var a = 0.5
a = 1
记住 var 声明变量 。 let声明常量
3、怎么声明一个UIButton,声明一个UIView等控件
解决办法:
var perhapsInt: Int?
let bt : UIButton! = nil
let bt1 : UIButton? = nil
let view1 : UIView! = nil
这时,你声明了一个变量,没有进行实例化
注意,但是如果你这样写
let bt = UIButton()
let view1 = UIView()
那么,这个控件已经被实例化了
4、如何声明数组?
let array1 = Array<Int>()
let someArray: [Int] = [1,2,3]
let someArray2 = [1,2,3]
let someArray1: Array<String> = []
上面这几种都可以,需要声明数组中的元素的类型
5、如何声明字典?
var dic:Dictionary<String,String>=["三国演义":"罗贯中","水浒传":"施耐庵","红楼梦":"曹雪芹","西游记":"吴承恩"];
其实这样也是没有问题的
var dic = ["三国演义":"罗贯中","水浒传":"施耐庵","红楼梦":"曹雪芹","西游记":"吴承恩"];
6、字符串拼接
let s1 = "asd"
let s2 = "fg"
let s3 = 1
let s4 = s1+s2+"\(s3)"
结果:asdfg1
"\()"是转义 可以直接操作变量
7、for while循环是怎样的
第一种
var someInts:[Int] = [11, 22, 33]
for item in someInts {
println( "Value of index is \(item)")
}
第二种
var someInts:[Int] = [11, 22, 33]
for var index = 0; index < 3; ++index {
println( "Value of someInts[\(index)] is \(someInts[index])")
}
第三种
var index = 10
while index < 20
{
println( "Value of index is \(index)")
index = index + 1
}
第四种
var index = 10
do{
println( "Value of index is \(index)")
index = index + 1
}while index < 20
8、block的用法
func useBlock(successHandler:(bool)->(){
successHandler(true)
failHandler("ll")
}
useBlock { (isFinish) in
}
9.arcRandom用法
arc4random()%UInt32(count)