27.swift基础

    1. swift的入口在appdelegate  UIApplicationMain
    2. swift的文件后缀是swift
    3. OC里类的开始和结束用@interface @end swift{}
    4. OC是以分号结束 swift无分号
    5. 创建视图 let view = UIView();
    6. 添加视图不用self.view  可以直接用view.addsubView(v)
    7. 按钮的方法点击事件用方法名" "
    8. let 来定义常量  var来定义变量
    9. 自动推导 --  系统根据等号右边的值自动计算出常量还是变量类型
    10. 查看类型  option + 点击

    如果想让他变成double  var z: Double = 10

     

    1. swift 不能隐式转换  需要强转 Double(x)
    2. 在定义常量/变量的类型后边加一个? 就是一个可选项 var num: Int?      num! 就是解包如果没有值就会崩溃可以进行判断

     

    1. num ?? 就是判断有没有值, 如果可选值为nil 则选去后边的值 , 有值则取可选值的
    2. if后面的{} 不能省略  ()可以省略   没有非0即真   只能写true false   if  true{}
    3. 三目运算符   num == 5 ? print("num = 5") : print("num != 5")
    4. if let  就是用于对可选项的一个判断 创建了一个新的变量  if let Ourl = url{}
    5. if let Ourl = url where Ourl.host  == "www.baidu.com"{ let request = NSURLRequest (URL:Ourl)}      host 就是 http 后面的内容
    6. if let Ono = no, Oname = name {};
    7. guard let Ono = no, Oname = name  else在里边访问Ono在这里可以访问

    guard 不满足其中一条条件就可以访问里边的内容 

     

    1. switch  swift中可以使字符串也可以是其他类型  oc只能是整形, 后面没有可以运行的代码要写上break
    2. for i in 0...10{print(i)}  运行11    for i in 0..<10{} 运行10
    3. String类型   父类是结构体  双引号  NSString 父类是NSObject 

    NSString能够与String 很好的转换

    1. 遍历字符串

    for s in str.characters{print(s)}

    字符串长度print(str.lengthOfBytesUsingEncoding(NSUTF8StringEncoding))

    字节byte   一个字节占3个字节

    print(str.utf8.cout)

    字符串拼接

    print(str + "lala")

    print("\(str),lala")

     

    字符串格式化

    let time = String(format:"%02d:%02d:%02d", arguments:[h,m,s])

     

    1. 字符串的截取

    第一种方式

    String转换成NSString

    let subStr = (str as NSString).substringWithRange(NSMakeRange(2,2))

    第二种方式 String方式

    let startIndex = "哈哈".endIndex  //  占位  "你若"也行随意只要是两个字

    let endIndex = "哈哈哈哈".endIndex

    let sub = str.substringWithRange(startIndex..<endIndex)

     

    1. let array = ["1", "2", "3"]     print(array[0])

    for str in array{}

    for (index,value) in array.enumerate(){ print("索引是 \(index), 值是\(value)")  }

    array.append("4")    let array不能用这个方法  var才能改变

     

    添加不同的数据的数组初始化一下

    var diff = [NSObject]()

    diff.append("123")   diff.append(20)

    数组初始化  var  数组名 = [类型]()

    添加结构体要转换成NSValue

    NSValue(CGRect:CGRectZero)

     

    数组删除

    diff.removeAtIndex(1)  diff.removeAll()  diff.removeAll(keepCapacity:Bool)  是否保留开辟的内存空间 Booltrue false

     

    1. let dic = ["key":"value"]

    添加新值 dic["name"] = "itcast"

    var dic2 = [String : NSObject]()   这个字典是经常用的

    遍历  for dictionary in dic2{ print(dictionary) }

    for (key, value) in dic2{}

     

    1. 数组合并  diff = diff + strs   要注意范围 缩小范围不能添加

    字典合并 for (key,value) in dict {dic[key] = value} 需要看清范围

    key值一样的时候就由新值替换旧值

     

    1. 函数 func sum(num1: Int,  num2: Int) -> Int{}

    func demo1() -> Void

    func demo2() -> ()

    func demo()

    函数的第一个参数名可以省略 如果需要显示则可以在第一个参数名前额外加一个名字 func sum(num num1: Int,  num2: Int) -> Int{}

     

    1. 闭包

    let closure = { print("闭包是什么") }

     

    1. dispatch_async(dis_queue, {--})   dispatch_async(dis_queue){---}  dispatch_async(dis_queue){}

     

    1. 闭包会对里边的变量进行一个强引用
    2. deinit  类似于oc delloc 
    3. 循环引用 可以断掉控制器对类的强引用

    [weak self]   里边用 self?.view

    [unowned self]  self?.view

    weak var weakSelf = self  weakSelf.view

     

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值