美文网首页
01-day-swift

01-day-swift

作者: promise96319 | 来源:发表于2019-03-30 17:24 被阅读0次
p6 xcode扩展练习
  • // MARK: // TODO: //FIXME:
p7 变量和常量
  • swift中,不存在基本数据类型,都是结构体struct
  • swift中,极少使用直接指定类型,通常都是自动推导
p8 可选项的概念
  • 可选项用?
  • nil不是任何数据类型,不能直接计算
  • !强行解包 — 从可选值中强行获取对应的非空值。必须为!负责,尽量少用
p9
  • let y:Int? // 定义常量,没有初始化,没有默认值。初始化的工作能做一次
  • var x:Int? // var 的可选值默认为nil
p10
  • ()表示空执行
p11
  • ?? 简单的三目,有值使用值,每值使用??后面的默认值
  • ??的使用优先级很低,建议用()包起来
p12
  • if let连用,判断对象的值是否为nil
  • {}内一定有值,不需要解包
  • if var连用,可以更改值
p13
  • guard letif let用途恰好相反,但是它可以节省一层分支
guard let name = name else { print(nil); return }
// 接着执行name存在的操作
p18
  • switch所有的分支至少需要一条指令,如果不执行任何内容,才使用break
p20
  • (0..<10).reversed 反序
p21
  • NSString 不支持遍历
  • str.characters.count 返回字符个数
  • str as NSString ===>>> str.length
p22
  • 拼接的时候注意可选项(a ?? "")
  • 格式化字符串 String(format: "%%2d:%%2d:%%2d", h, m, s)
p23
  • 取子字符串一般采用NSString作为中转, 这样比较容易理解
let ocStr = str as NSString
ocStr.substring(with: NSMakeRange(2, 3))
  • str.startIndex // 0
  • str.endIndex // str.length
p25
  • 数组遍历第三种方法
for (index, item) in array.enumerated() {}
for (index, item) in array.enumerated().reversed() {}  // 反序
p26
  • array.append()
  • array.remove(at: 2)
  • array.removeAll(keepingCapacity: true)
  • 如果数组指定了容量,capacity可以提高一点效率

相关文章

  • 01-day-swift

    p6 xcode扩展练习 // MARK: // TODO: //FIXME: p7 变量和常...

网友评论

      本文标题:01-day-swift

      本文链接:https://www.haomeiwen.com/subject/ykajbqtx.html