@objc 意思是想讓 Swift code(class, method, property, etc) 在 Objective-C 中可見。 dynamic 意味著要使用 Objective-C動態調度 在 Swift 3 或 更早的版本,dynamic也含有@objc。在 Swift 4 中,dynamic 僅意味著 dynamic dispatch(動態調度) 且對 Objective-C 的可見性(@objc)無關。 但是,沒有像是 Swift 動態調度之類的東西。只有Objective-C runtime’s dynamic dispatch(動態調度),這意味著不能只使用 dynamic,而必須編寫@objc dynamic。(才能被 OC 看見) 三種裝飾 func 的方法