Swift问题汇总

2017-11-10  本文已影响28人  FunkyRay
1.在Swift工程中引入动态库,需要添加到Embedded Binaries中,否则会报错;
2.调用有返回值的函数时如果不使用返回值,编译器会发出警告。在该函数前面加上@discardableResult关键字可以消除该警告;
3.Swift 4.0 使用KVC字典转模型时候需要加上@objcMembers关键字才可以有效;
4.在Swift开发中,优先使用let定义常量,如果需要修改再使用变量;
5.枚举中的Int类型可以自动赋值数字,其他类型不可以;
6.类中定义类方法用class修饰,协议中定义类方法用static修饰;
7.Swift中单例的写法:
static let shareInstance : NetworkTools = NetworkTools()
8.关于Swift访问权限
9.Swift中字符串的优点:
10.Swift中类的注意点:
 willSet { // 监听属性即将发生改变:还没有改变
     print("\(newValue)--\(name)") // 打印新的值
 }
 didSet { // 监听属性已经发生改变:已经改变
     print("\(oldValue)--\(name)") // 打印旧值
 }
  deinit {
    print("该类被释放")
  }
11.Swift中协议的注意点:
@objc protocol sprotProtocol : class {
   @objc optional func playFootball()
}
class smallStudent: NSObject, sprotProtocol {
    
}
12.在extension中给系统的类扩充构造函数,只能扩充便利构造函数
extension UIColor {
   convenience init(r: CGFloat, g: CGFloat, b: CGFloat, alpha: CGFloat = 1.0) {
      self.init(red: r / 255.0, green: g / 255.0, blue: b / 255.0, alpha: alpha)
   }
}
13.OC和Swift混编的方法:
14.关于Swift中使用CoreFoundation 数据类型:

使用了"类型重映射"机制, 转换成为了能够自动管理内存的对象, 不需要我们手动释放

上一篇 下一篇

猜你喜欢

热点阅读