在swift中懶加載的寫法
//寫法一
lazy var Button : UIButton = UIButton()
//寫法二
lazy var button : UIButton{
let button = UIButton()
return button
}()
在swfit中單例的寫法
//1. 初始化一個(gè)變量, 并用static修飾
static let sharedManager = BNTimestampManager()
//2. 私有化init方法
private override init() {
super.init()
}
如何避免閉包的循環(huán)引用
枚舉如何綁定值
- 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"
}
如何進(jìn)行類型轉(zhuǎn)換
- 使用as? 或者 as!
- ?表示轉(zhuǎn)換后可能為空
- !表示轉(zhuǎn)換后肯定不為空
字典或數(shù)組等集合中, 是否可以存儲(chǔ)Int類型
- 可以, swift中的字典和數(shù)組都是結(jié)構(gòu)體,所以可以存儲(chǔ)任何類型的元素
- OC中的字典和數(shù)組是對(duì)象, 只可以存儲(chǔ)對(duì)象
解釋一下區(qū)間的概念
- 開區(qū)間 0..< a
- 閉區(qū)間 0...a
String和NSString有什么區(qū)別
- 兩者都是用于處理字符串的相關(guān)操作
- String是結(jié)構(gòu)體, NSString是對(duì)象
- 兩者可以互相轉(zhuǎn)換
使用Cocoapods的注意事項(xiàng)?
如何重載運(yùn)算符?
//重寫 + 方法
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寫一個(gè)字典轉(zhuǎn)模型
2.用你最簡(jiǎn)單的方法寫一個(gè)瀑布流
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者