我可以将这三行代码合并为一行吗?

时间:2013-10-30 19:51:43

标签: objective-c

我喜欢将多行代码合并为一行。例如:

int64_t siz    = [self getFileSizeAsInt64_t: filePath];
NSString * str = [self convLongLongToCommaStr: siz];
return( str );

变为

return [self convLongLongToCommaStr: [self getFileSizeAsInt64_t: filePath]];

以下是我在代码中看到的三行代码模式的示例,我希望将其组合成一行。但是,我无法做到这一点,我不确定它是否可能。

UIImageView * imgView = ctlObjs[iImgIdx];
[imgView setImage: nextImage];
ctlObjs[iImgIdx] = imgView;

感谢您提供有关如何执行此操作的任何见解。

2 个答案:

答案 0 :(得分:2)

Yar指出,第三行不是必需的。但你可以将前两个结合起来:

[ctlObjs[iImgIdx] setImage:nextImage];

或者,如果ctlObjsNSArrayNSMutableArray,您可能需要以下内容,这样可以明确目标并提供更好的代码完成:

[(UIImageView *) ctlObjs[iImgIdx] setImage:nextImage];

话虽如此,你可以将多行代码组合成一行并不意味着你必须应该。恕我直言,代码清晰度可能更重要比紧凑。我个人会坚持:

UIImageView *imgView = ctlObjs[iImgIdx];
[imgView setImage: nextImage];

答案 1 :(得分:0)

只需

[ctlObjs[iImgIdx] setImage:nextImage];