Naming is important!!!

2012. 9. 11. 14:14제2외국어/iOS


부제 : UI 만 수정했는데 프로그램이 죽진 않지만 검정 화면만 나오는 경우....


나의 경우 예제 소스를 보고 코딩 스타일을 배우는 경우가 많아서, IBOutlet 을 사용하는 경우

1. 헤더에 @property 로 생성

@property (nonatomic, strong) IBOutlet UILabel *iLabel;

2. .m 에서 synyhesize 로 구성을 맞추준 다음

@synyhesize iLabel; 

3. 마지막으로 인터페이스 빌드 or 스토리 보드 에서 직접 연결을 해주는 방법을 주로 사용했습니다.


헌데 부제와 마찬가지로... 단순히 UI 에 뷰만 추가했을 뿐인데 갑자기 검정 화면만 나오면서 멘붕....


아..

프로그램이 죽지는 않지만.. 위와 같이 검정 화면이 나오는 것!!

모든 기능을 다 구현한 뒤에.. 단순히 로딩 화면만 추가하기 위해 뷰하나 생성했을 뿐인데 이렇게 되었다.


@property (nonatomic, strong) IBOutlet UIView *loadView;

문제점은 로딩화면이라고 표현하기 위해 loadView 라는 변수명을 사용했기 때문에 생기는 문제였다.

loadView 는 로딩 되었을 때 사용되는 뷰로 이미 만들어져 있었기 때문에...
( 실제로 위처럼 loadView 라고 선언하지 않더라도 self.loadView 가 존재한다. )



"사소한 것 같지만 중요한 네이밍."
너무 흔할것 같은, 어쩌면 당연한 변수명은 피하는게 상책이다.




'제2외국어 > iOS' 카테고리의 다른 글

xCode 4.5 for iOS 6.0 달라진 점(1)  (6) 2012.09.24
[iOS]UINavigationController에서 데이터 넘길 때  (0) 2012.09.14
[iOS]탈옥 여부 확인하기...  (0) 2012.08.08
WWDC2012에 대한 기대  (0) 2012.06.08
[Customize] 4. UIAlertView  (0) 2012.04.24