@select 是oc Runtime那一套東西线定,swift本身沒有runtime的
1.為什么Swift暴露給OC的類最終要繼承自NSObject?
- oc調(diào)用swift,swift類要繼承NSObject,因為alloc這些類方法來自于NSObject ,調(diào)用方法要有個iss指針去使用runtime那一套東西诲泌,所以必須繼承與NSObject
2.p.run()底層是怎么調(diào)用的屹堰?反過來沿腰,oc調(diào)用Swift底層又是如何調(diào)用?
3.car.run()底層是怎么調(diào)用漫雷?
- 仍然是swift虛表那些東西,如果非要使用objc-msgsend調(diào)用邏輯的話慷蠕,則要給run()添加dynamic修飾符
String