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
IOS NSString返回语句_Ios_Cocoa_Nsstring - Fatal编程技术网

IOS NSString返回语句

IOS NSString返回语句,ios,cocoa,nsstring,Ios,Cocoa,Nsstring,有一些我正在使用的代码是由其他人编写的,我有一个问题 NSString *c = @"test"; // "Local" string NSString *d = [NSString alloc]initWithString:@"test"]; // "Heap" string const char *c = "test"; return [NSString stringWithUTF8String:c]; // ?? 我不确定本例中的return语句返回的是什么。我会写一些像 retur

有一些我正在使用的代码是由其他人编写的,我有一个问题

NSString *c = @"test";  // "Local" string
NSString *d = [NSString alloc]initWithString:@"test"]; // "Heap" string

const char *c = "test";
return [NSString stringWithUTF8String:c]; // ??
我不确定本例中的return语句返回的是什么。我会写一些像

return [NSString alloc]initWithUTF8String:c];


为什么返回语句会像上面那样写?

我不确定您的问题是什么。如果您不确定某个方法的返回值,请查看文档,您将得到答案。我不确定您的问题是什么。如果您不确定某个方法的返回值,请查看文档,您将得到答案,即按约定stringWithUTF8String返回一个已自动删除的字符串,按约定stringWithUTF8String返回一个已自动删除的字符串。[NSString stringWithUTF8String:c]返回一个自动释放的对象。因此这与
[NSString alloc]initWithUTF8String:c]自动释放]
是一样的,但是从我从文档中理解的
[NSString stringWithUTF8String:c]
不会复制字符串。因此它的速度更快返回一个自动释放的对象。因此它与
[NSString alloc]initWithUTF8String:c]autorelease]是一样的。但是从我从文档
[NSString stringWithUTF8String:c]中了解的情况来看,
并没有复制字符串。因此它的速度更快了。

啊,好吧,我假设是这样的(return添加了alloc autorelease)但我只是想确定一下。因此,实际上c必须在堆栈或静态/全局上,NSString对象是alloc autorelease。ThanksAh,好吧,我假设有那么多(return添加了alloc autorelease),但我只是想确定一下。因此,实际上c必须在堆栈或静态/全局上,NSString对象是alloc autorelease。谢谢,没问题。请指出确切的文件和确切的行有这个,让我知道你需要多长时间才能找到它。我不太熟悉IOS文档集,在这里几乎不花时间,其他人可以享受你的清晰答案。然后在侧边栏中,展开“类方法”,这很公平,速度很快,但语句…返回一个NSString对象,该对象是通过复制UTF8编码字节的给定C数组中的字符初始化的…没有提到在返回时对该对象的处理不同这一事实。也许我错过了什么。如果返回自动释放的对象,则不会在过程结束时释放该对象。我没有在IOS上花太多时间,所以我想这是有道理的。好的,没问题。请指出确切的文件和确切的行有这个,让我知道你需要多长时间才能找到它。我不太熟悉IOS文档集,在这里几乎不花时间,其他人可以享受你的清晰答案。然后在侧边栏中,展开“类方法”,这很公平,速度很快,但语句…返回一个NSString对象,该对象是通过复制UTF8编码字节的给定C数组中的字符初始化的…没有提到在返回时对该对象的处理不同这一事实。也许我错过了什么。如果返回自动释放的对象,则不会在过程结束时释放该对象。我没有在IOS上花太多时间,所以我想这是有道理的。
return [NSString alloc]initWithUTF8String:c]autorelease];