swift 与 NSObject

2021-06-22 23:04

阅读:355

标签:send   cal   for   com   target   methods   prope   基类   access   

以NSObject为基类,只是为了提供Objective-C API的使用入口;

经由@object修改的对象,是这些api的参量。

NSObject是swift与oc特有机制沟通的桥梁。

 

Subclassing NSObject in Swift gets you Objective-C runtime flexibility but also Objective-C performance. Avoiding NSObject can improve performance if you don‘t need Objective-C‘s flexibility.

https://stackoverflow.com/questions/24057525/swift-native-base-class-or-nsobject

 

Before Swift 4

For example, if one subclassed from NSObject, the compiler created Objective-C entry points for all methods in such classes. The mechanism is called @objc inference.

https://stackoverflow.com/questions/44379348/the-use-of-swift-3-objc-inference-in-swift-4-mode-is-deprecated

 

Swift classes that are subclasses of NSObject:

  • are Objective-C classes themselves
  • use objc_msgSend() for calls to (most of) their methods
  • provide Objective-C runtime metadata for (most of) their method implementations

https://stackoverflow.com/questions/24057525/swift-native-base-class-or-nsobject

 

Some Objective-C APIs—like target-action—accept method or property names as parameters, then use those names to dynamically call or access the methods or properties.

https://developer.apple.com/documentation/swift/using_objective-c_runtime_features_in_swift

swift 与 NSObject

标签:send   cal   for   com   target   methods   prope   基类   access   

原文地址:https://www.cnblogs.com/feng9exe/p/9675871.html


评论


亲,登录后才可以留言!