Swift教程

如果你以Objective-C为基础,进行学习Swift,本教程会起到事半功倍的效果,如果你没有编程的基础,那么本教程不适合你,请节省时间
本教程也非书籍一般,按部就班的学习,而是将一些Swift需要的技能,常用的知识点介绍给大家

本教程包含知识点如下:

  1. 类型转化
  2. 变量、常量声明
  3. 循环的使用(for 、do while)
  4. switch的使用
  5. Block的用法
  6. 代理的用法
  7. 类的声明
  8. tableview
  9. collectionview
  10. swift调用oc
  11. oc调用Swift

在Swift3.0中,非2.0、2.3,特此声明

首先我新建一个Swift工程,如图:Swift教程_第1张图片

创建完毕之后,发现和Objective-C是不一样的,没有.h文件,只有.swift文件,这是一个最大的区别,意味着,在swift的工程中所有自己创建的头文件都不用写了,非常非常爽如图:
Swift教程_第2张图片

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)

你可能感兴趣的:(IOS基础记,objective-c,swift,混编,教程,Swift教程)