NSMutableDataについて

Konton's iPhone application labolatory

English top page

NSMutableDataとは

NSMutableDataの主な用途はNSDataと同じくバイナリデータの格納です。ただしこちらは可変長であるため、 アプリケーション内部で作成したデータを格納するのに向いています。NSDataにあるメソッドも全て使えます。


代表的なメソッド(目的別)

新しいNSMutableDataを作りたい - initWithLength:

現在のデータの末尾にデータを追加したい - appendData:


新しいNSMutableDataを作りたい - initWithLength:

- (id)initWithLength:(NSUInteger)length

lengthで指定した長さのNSMutableDataを作成します。作られたデータの中は全て0が入っています。下にある例は長さが0、つまりは空のNSMutableDataを作っています。 実質的には[[NSMutableData alloc] init]と同じです。

NSMutableData *newData = [[NSMutableData alloc] initWithLength:0];

- (voide)appendData:(NSData *)otherData

下の例はNSDataのsubdataWithRange:に書かれているコードと逆に、ファイルを小分けにして読み込む部分のコードの一部です。loadRangeがNSRange型のメンバ変数、 loadLengthが読み込むファイルの大きさを格納しているNSUInteger型のメンバ変数です。loadDataに読み込んだデータを追加してゆくことでサイズの大きなファイルでも 読み込めるようにしようという意図で作成したコードです。

NSData *lData;
if(loadRange.location + 32768 < loadLength) {
    lData = [fileHandle readDataOfLength:kMyBufferSize];
} else {
    lData = [fileHandle readDataToEndOfFile];
}
[loadData appendData:lData];
前へ次へ
Copyright© 2009 Konton All rights reserved. - このサイトについて - サイトマップ

Valid XHTML 1.1 正当なCSSです!