2013-10-30 4 views
0

나는 여러 줄의 코드를 하나로 결합하고 싶다. 예 :이 세 줄의 코드를 한 줄로 병합 할 수 있습니까?

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; 

가능한 경우 어떻게하는지에 대한 통찰력을 주셔서 감사합니다.

+1

나는 마지막 줄이 3 개 필요하다고 생각하지 않는다. 이미 해당 객체에 대한 참조가 있습니다. –

+5

개인적으로 나는 당신이 당신의 코드를 가능한 한 읽기 어려워 보이려고 노력하고 있다는 느낌을 받는다. –

답변

0

그냥 야르으로

[ctlObjs[iImgIdx] setImage:nextImage];

+0

알렉세이의 싱글 라인은 내가 원래 가지고 있던 세 라인보다 훨씬 읽기 쉽다. – Gallymon

2

는 세 번째 줄은 필요하지 않다고 지적한다. 하지만 당신과 같이 처음 두를 결합 할 수 있습니다 :

[(UIImageView *) ctlObjs[iImgIdx] setImage:nextImage]; 
: ctlObjsNSArray 또는 NSMutableArray 경우,

[ctlObjs[iImgIdx] setImage:nextImage]; 

를 또는, 명확한 의도를 만드는 더 나은 코드 완성 기능을 제공합니다 다음을 할 수 있습니다

사실, 당신이 일 수있는 코드 라인을 여러 개 결합 할 수 있다고해서 반드시 이되어야한다는 것을 의미하지는 않습니다. IMHO, 코드 가독성은 아마도 압축보다 더 중요 할 것입니다. 나는 개인적으로 붙어있을 것이다 :

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

나는 선을 분리하여 두는 것에 대해 두 번째로 강조 할 것이다. 코드를 읽기 쉽고 디버그하기 쉽습니다. 코드 줄을 줄이면 점수를 얻지 못합니다. – rmaddy

관련 문제