ios - 何时在 Objective-C 中使用 NS_INLINE 函数

标签 ios objective-c c inline-functions

我发现很多人有时会在他们的代码中使用 NS_INLINE 函数。我很好奇他们如何知道何时使用它以及为什么使用它。

我读到INLINE 函数的指令少于objective-C 函数。我在这方面有点迷茫,因为我对 C 不太了解。

我见过的一些例子是:

NS_INLINE id NilToEmptyString(id obj)
{
    return obj ? : @"";
}

NS_INLINE BOOL isRunningTests(void)

我想在一些特定的地方使用它。例如。我需要获取画廊的所有 assets,然后检查它们是否有 locationdate。我想将这些函数 checkLocationcheckDate 作为 inline 函数。

一些用户有 5000 张图片,用 iPhone 4s 时间增加到 5 分钟,这太多了。我想重构代码,我读到有时 inline 函数不是一个坏方法。

最佳答案

NS_INLINE__attribute__((always_inline)) 编译器指令的宏,它比普通的 inline 关键字更强大。仅当您非常确定内联会产生更快的代码而不会出现不必要的可执行文件膨胀时才使用它。

关于ios - 何时在 Objective-C 中使用 NS_INLINE 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28099823/

相关文章:

ios - 如何从我的自定义 UIActivity 类发送电子邮件?

c - C 编程中的结构指针有问题

c - C中奇怪的printf输出

objective-c - 从末尾搜索时的非贪婪正则表达式匹配

objective-c - IOS NSString 属性在引用类中始终为 nil

c - 访问其范围之外的本地声明的结构

ios - 结构中的 Swift Init 可选数组

ios - 如何正确使用 createOrUpdateInRealm?

ios - 如何向 UIImagePickerController 添加一些选项

objective-c - SQLite在 objective-c 中插入数据