Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 是否有为NSData添加一个NSString的方法?_Objective C_Cocoa - Fatal编程技术网

Objective c 是否有为NSData添加一个NSString的方法?

Objective c 是否有为NSData添加一个NSString的方法?,objective-c,cocoa,Objective C,Cocoa,我正在将一个用户输入的文本字段写入一个文件。 到目前为止,我有一个NSFileManager,它将数据写入文件。尽管如此,我还是无法将textField输入放入文件中 有没有一种方法可以将字符串值添加到NSData中,这样我就可以编写它?请使用下面的代码作为参考 NSString* myString = @"Is there a method for adding one NSString for NSData"; NSData* myData= [myString dataUsingE

我正在将一个用户输入的文本字段写入一个文件。 到目前为止,我有一个NSFileManager,它将数据写入文件。尽管如此,我还是无法将textField输入放入文件中


有没有一种方法可以将字符串值添加到NSData中,这样我就可以编写它?

请使用下面的代码作为参考

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

请使用以下代码作为参考

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

您可以从NSString获取NSData

NSData *newData = [yourString dataUsingEncoding:NSUTF16StringEncoding];
使用适合您的情况的编码。 将获得的数据附加到现有NSData中

[existingData appendData:newData]

注意:“existingData”应该是NSMutableData的实例。

您可以从NSString获取NSData

NSData *newData = [yourString dataUsingEncoding:NSUTF16StringEncoding];
使用适合您的情况的编码。 将获得的数据附加到现有NSData中

[existingData appendData:newData]

注意:“existingData”应该是NSMutableData的实例。

实际上我指的是NSData而不是NSDate:)实际上我指的是NSData而不是NSDate:)注意,您需要使用与原始数据相同的编码。也许值得换一种方式将原始数据解码回字符串,将新字符串附加到该字符串,然后重新编码以确保一致性。@Peter Hosey同意,但这看起来是解决当前问题的直接方法(至少对于问题而言)由于用户对编码有想法,他将使用。@Dietrich Epp:这取决于您是否可以安全地假设数据采用特定的编码。如果可以,那么@Tatvamasi的答案将按书面形式起作用。如果不是,唯一安全的方法是解码,使用猜测编码的方法,然后使用相同的编码重新编码。@Pete:在我看来,捕获二进制blob中的编码错误超出了函数的范围,如果你想在二进制文件中添加一个字符串,那么添加这样的功能将使函数不可用。因此,
NSData
可能不包含字符数据。@Dietrich Epp:我不是说原始数据中的编码错误;我说的是保持新数据的编码与原始数据的编码一致。如果原始数据是非文本的,那么在其末尾附加文本数据可能没有任何意义。请注意,您需要使用与原始数据相同的编码。也许值得换一种方式将原始数据解码回字符串,将新字符串附加到该字符串,然后重新编码以确保一致性。@Peter Hosey同意,但这看起来是解决当前问题的直接方法(至少对于问题而言)由于用户对编码有想法,他将使用。@Dietrich Epp:这取决于您是否可以安全地假设数据采用特定的编码。如果可以,那么@Tatvamasi的答案将按书面形式起作用。如果不是,唯一安全的方法是解码,使用猜测编码的方法,然后使用相同的编码重新编码。@Pete:在我看来,捕获二进制blob中的编码错误超出了函数的范围,如果你想在二进制文件中添加一个字符串,那么添加这样的功能将使函数不可用。因此,
NSData
可能不包含字符数据。@Dietrich Epp:我不是说原始数据中的编码错误;我说的是保持新数据的编码与原始数据的编码一致。如果原始数据是非文本的,那么在其末尾附加文本数据可能没有任何意义。