Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.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 这行代码的目的是什么?_Objective C_Syntax - Fatal编程技术网

Objective c 这行代码的目的是什么?

Objective c 这行代码的目的是什么?,objective-c,syntax,Objective C,Syntax,考虑一下Objective-C的这个片段: NSString *elementString = nil; if(elementText != NULL) { elementString = [NSString stringWithCString:(char*)elementText encoding:NSUTF8StringEncoding]; [elementString self]; xmlFree(elementText); } 我知道[elementStri

考虑一下Objective-C的这个片段:

NSString *elementString = nil;

if(elementText != NULL) {
    elementString = [NSString stringWithCString:(char*)elementText encoding:NSUTF8StringEncoding];
    [elementString self]; 
    xmlFree(elementText);
}
我知道
[elementString self]
返回对
elementString
的引用。我的问题是,既然这里没有使用返回值,为什么要调用
[elementString self]

这个模式在我维护的应用程序中的XML解析例程中重复了很多次。如果它只发生一次,我会怀疑有人做了傻事,但鉴于它的流行,我想知道我错过了什么


编辑:本尼迪克特·科恩给出的答案是正确的。
elementString
变量从未使用过。此模式的大多数实例都隐藏在数百行方法中,我没有看到它从未被使用过。

如果没有编译器,将发出一条警告,
elementString
未被使用

编辑:实际上,由于
elementString
的声明和设置方式,我认为这不会引起警告


编辑:刚刚测试过<代码>[elementString self]未抑制警告。我唯一的猜测是,它曾经是用来抑制警告的,但是代码已经被重构,不再需要了。

您能提供更多的代码片段吗?否则,您引用的代码行只是禁止编译器警告。我以前从未见过这种情况。Jonathan Grynspan:当我说“流行”的时候,我的意思是在这个应用程序中,我在维护。这种模式的实例存在于125个不同的类文件中。看起来编写该代码的人正在使用它……事实上。它也被大量复制和粘贴。