4

多くの人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関数が悪い方法ではない場合があることを読みました。

4

1 に答える 1

2

NS_INLINE通常のキーワード__attribute__((always_inline))よりも強力なコンパイラ ディレクティブ用のマクロです。inlineインライン化によって不必要な実行可能ファイルの肥大化がなく、より高速なコードが得られると確信している場合にのみ使用してください。

于 2015-01-22T22:32:17.910 に答える