0

Apple のオープン ソース ランタイム ドキュメント (http://opensource.apple.com/source/objc4/objc4-208/runtime/objc-runtime.h から入手可能) で、Apple はアプリケーション内のすべてのクラスを取得するメソッドの例を提供しています。次のようになります。

int numClasses = 0, newNumClasses = objc_getClassList(NULL, 0);
Class *classes = NULL;
while (numClasses < newNumClasses) {
    numClasses = newNumClasses;
    classes = realloc(classes, sizeof(Class) * numClasses);
    newNumClasses = objc_getClassList(classes, numClasses);
}
// now, can use the classes list; if NULL, there are no classes
free(classes);

つまらない質問で申し訳ありませんが、次の行で numClasses を newNumClasses に設定するだけで、そこに while ステートメントを含める目的は何ですか? while 内のブロックは関係なく一度だけ実行されるようですが、ここで何かが完全に欠落している可能性があります。誰かがこれについて何か洞察を持っていますか?

ありがとう!

4

0 に答える 0