2012-09-27 22 views
5

したがって、+(id)dataWithContentsOfMappedFile:(NSString *)pathはiOS 5.0以降廃止されているようです。私はそれを使用するのを避けなければならないように私に聞こえるが、代わりに何を使うべきか?NSDataの代わりに廃止されたdataWithContentsOfMappedFile

私は、メモリマップファイルを作成するためにmmapを使用していたし、それはiOS5をして働いたが、私はできるだけ早く私はバッファを更新または読み取ろうとしてエラーが発生しますので、iOS6に、何かが間違っています。

int fd = open(path, O_RDWR); 
    off_t offset = 0; 
    snapshotData = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, offset); 
    close(fd); 

答えて

10

+dataWithContentsOfFile:options:error:を使用してください。オプションとしてNSDataReadingMappedIfSafeを渡してください。代わりにNSDataReadingMappedAlwaysを使用することもできますが、実際にマップする必要がない場合は前者をお勧めします。実際にマップする必要がある場合は、NSDataReadingMappedAlwaysはまだヒントなので、約束はありません。約束を得るには、自分で書く必要があります。as discussed at CIMG

+0

CIMGで提案されているように実装しようとします。ポインタありがとう。 – mprivat

関連する問題