5

私はいくつかのコードを書いていますがdispatch_async、iphone4sとipad第1世代で異なる結果が得られます。

CPUのコア数が原因なのかしら。実行時にiOSデバイスのコア数またはCPUタイプを検出して、4で検出できるようにすることはできますdispatch_asyncが、iPadでは検出できませんか?

4

1 に答える 1

8

iOS デバイスのコア数を検出するコードは次のとおりです。

#include <sys/sysctl.h>

unsigned int countCores()
{
    size_t len;
    unsigned int ncpu;

    len = sizeof(ncpu);
    sysctlbyname ("hw.ncpu",&ncpu,&len,NULL,0);

    return ncpu;
}

それに加えて[[UIDevice currentDevice] userInterfaceIdiom]、デバイスが iPhone なのか iPad なのかを確認することもできます。このような:

if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
    NSLog(@"iPad");
}
else {
    NSLog(@"iPhone");
}

参照

于 2012-10-11T12:17:48.550 に答える