3
Objective-C的createFileAtPath:contents:attributes
需要NSData
類型,但我想創建一個帶有NSString
內容的文件。我該怎麼做呢?createFileAtPath:contents:存儲NSString的屬性
我知道這可能是一個非常基本的答案,但我剛開始學習如何使用Objective-C的,並與我用其他語言也有這麼多不同的數據類型和對象。
謝謝!
Objective-C的createFileAtPath:contents:attributes
需要NSData
類型,但我想創建一個帶有NSString
內容的文件。我該怎麼做呢?createFileAtPath:contents:存儲NSString的屬性
我知道這可能是一個非常基本的答案,但我剛開始學習如何使用Objective-C的,並與我用其他語言也有這麼多不同的數據類型和對象。
謝謝!
你可以嘗試用字符串的內容創建NSData
,像這樣:
NSString *s = @"Hello, world!";
NSData *d = [s dataUsingEncoding:NSUTF8StringEncoding];
您也可以存儲NSStrng
直接在文件:
[s writeToFile:@"/my/file/path/file.txt" atomically:NO encoding:NSUTF8StringEncoding error:nil];
注意這個答案是在肯·托馬斯的筆記後編輯。
謝謝。第二種選擇看起來最好。 – Hope4You
@dasblinkenlight,你不能用' - [NSString的長度]'以這種方式。它是UTF-16字符的計數,而不是UTF-8字符。無論如何,最好不要使用C字符串作爲中介。只需直接從字符串得到'NSData':'NSData的* d = [someString dataUsingEncoding:NSUTF8StringEncoding]' –
@KenThomases感謝您的注意,我編輯的答案。我不太確定如何通過字符串的內部內容來獲取'NSData',您獲取數據的方式要好得多。我還是比較新的Objective-C,感謝教我一個新的訣竅:) – dasblinkenlight