在swift中懒加载的写法
//写法一
lazy var Button : UIButton = UIButton()
//写法二
lazy var button : UIButton{
let button = UIButton()
return button
}()
在swfit中单例的写法
//1. 初始化一个变量, 并用static修饰
static let sharedManager = BNTimestampManager()
//2. 私有化init方法
private override init() {
super.init()
}
如何避免闭包的循环引用
枚举如何绑定值
- swift中既可以给枚举绑定Int类型的值, 也可以绑定String类型的值
enum name : Int
{
case a = 1
case b
case c
}
enum name : String
{
case a = "a"
case b = "b"
case c = "c"
}
如何进行类型转换
字典或数组等集合中, 是否可以存储Int类型
- 可以, swift中的字典和数组都是结构体,所以可以存储任何类型的元素
- OC中的字典和数组是对象, 只可以存储对象
解释一下区间的概念
String和NSString有什么区别
- 两者都是用于处理字符串的相关操作
- String是结构体, NSString是对象
- 两者可以互相转换
使用Cocoapods的注意事项?
如何重载运算符?
//重写 + 方法
func + (p1 : CGPoint, p2 : CGPoint) -> CGPoint
{
return CGPoint(x: p1.x + p2.x, y: p1.y + p2.y)
}
let p1 = CGPoint(x: 10, y: 20)
let p2 = CGPoint(x: 15, y: 10)
let p3 = p1 + p2
编程题
1.用runtime写一个字典转模型
2.用你最简单的方法写一个瀑布流