2011-07-01 8 views
1

私はtextFieldに1人のユーザー入力をファイルに書き込むように取り組んでいます。 これまでは、データをファイルに書き込む1つのNSFileManagerがあります。それでも、私はtextField入力をファイルの中に入れる方法がありません。NSDataにNSStringを1つ追加する方法はありますか?

NSDataに文字列値を追加して書き込む方法はありますか?

答えて

4

あなたはNSStringのからのNSData、あなたのケースに合った

NSData *newData = [yourString dataUsingEncoding:NSUTF16StringEncoding]; 

使用エンコーディングを取得することができます。 "existingData" はNSMutableDataのインスタンスでなければならない: は

[existingData appendData:newData] 

注、既存のNSDataに得られたデータを追加します。

+0

元のデータと同じエンコードを使用する必要があります。それは、元のデータを文字列にデコードし、それに新しい文字列を追加し、再エンコードすることで一貫性を保証するという別の方法に進む価値があります。 –

+0

@Peter Hoseyは同意しましたが、これはユーザーが使用するエンコーディングについてのアイデアを持っているため、問題の最も難しい問題(直接質問)に似ています。 – Tatvamasi

+0

@Peter:再エンコードするだけのデコードはやや冗長なようです。 –

0

下記のコードを参考にしてください。

NSString* myString = @"Is there a method for adding one NSString for NSData"; 
NSData* myData= [myString dataUsingEncoding:NSUTF8StringEncoding]; 
+0

実際にNSDateではないNSDataを参照していました。 – Matoe

+0

@Matoe:更新された回答を確認してください:) – Jhaliya

関連する問題