swift - 什么是 Objective C 运行时特性?

标签 swift objective-c runtime terminology nsobject

在我刚刚读到的一篇博文中:

'Swift 允许我们从 NSObject 扩展类以获得对象的 Objective-C 运行时特性。它还允许我们使用 @objc 注释 Swift 方法,以允许 Objective-C 运行时使用这些方法。'

我不明白 Objective-C 运行时特性这个术语。这是否意味着该代码也可以用于 Objective-C 项目?

最佳答案

引用apple docs

The Objective-C runtime is a runtime library that provides support for the dynamic properties of the Objective-C language, and as such is linked to by all Objective-C apps. Objective-C runtime library support functions are implemented in the shared library found at /usr/lib/libobjc.A.dylib.

该 API 主要用于开发 Objective-C 和其他语言之间的桥接层,或用于低级调试。您很可能不需要使用它。

即使在没有一行 Objective-C 代码的情况下编写,每个 Swift 应用程序都会在 Objective-C 运行时内执行,因此您可以访问它。

你可以做类似 swizzling 的事情

关于swift - 什么是 Objective C 运行时特性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42642473/

相关文章:

objective-c - 如何取消一个UIWebView?

iOS连续淡出淡入动画

只能通过这个循环这么多次迭代吗?

swift - 如何构建自定义 Swift 框架以及它与 SPM 有何关系?

ios - 将数据数组从 Collection View 传递到 TableView

string - 检查字符串是否是 Swift 中的有效 double 值

ios - UICollectionView + AFNetworking + 自动滚动/分页?

Delphi Firemonkey - 在运行时加载样式

asp.net-core - AspNetCore.deps.json 包括 runtimes/win/lib/netcoreapp2.1/System.Data.SqlClient.dll 引用

android - 从iOS Swift代码显示FlutterView时出现问题