我发现很多人有时会在他们的代码中使用 NS_INLINE
函数。我很好奇他们如何知道何时使用它以及为什么使用它。
我读到INLINE
函数的指令少于objective-C
函数。我在这方面有点迷茫,因为我对 C 不太了解。
我见过的一些例子是:
NS_INLINE id NilToEmptyString(id obj)
{
return obj ? : @"";
}
NS_INLINE BOOL isRunningTests(void)
我想在一些特定的地方使用它。例如。我需要获取画廊的所有 assets
,然后检查它们是否有 location
和 date
。我想将这些函数 checkLocation
和 checkDate
作为 inline
函数。
一些用户有 5000 张图片,用 iPhone 4s 时间增加到 5 分钟,这太多了。我想重构代码,我读到有时 inline
函数不是一个坏方法。
最佳答案
NS_INLINE
是 __attribute__((always_inline))
编译器指令的宏,它比普通的 inline
关键字更强大。仅当您非常确定内联会产生更快的代码而不会出现不必要的可执行文件膨胀时才使用它。
关于ios - 何时在 Objective-C 中使用 NS_INLINE 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28099823/