3
考虑这个片段中的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
变量没有被使用过。这种模式的大多数情况都被埋在了几百行的方法中,我没有看到它从未被使用过。
你能提供比一个片段吗?否则,您引用的代码行只是简单地抑制编译器警告。 – 2012-01-09 16:11:49
我从来没有见过这个。你在哪里看到它,以至于你认为它“流行”? – 2012-01-09 16:18:00
@Jonathan Grynspan:当我说'流行'时,我的意思是我在维护这个应用程序。这种模式的实例存在于125个不同的类文件中。 – 2012-01-09 16:27:26