2013-07-31 4 views
0

저는 iOS 개발자를 처음 접했고 몇 가지 지침을 알려 주셨습니다. 내가 그 재산, 내가 먼저 ALLOC를 업데이트하고의 ViewController가 그에 따라 해당 속성을 업데이트 init를 다른 클래스에서 지금iOS 객체의 속성 업데이트

@property (strong, nonatomic) IBOutlet UIImageView *image; 

:

는 내가 정기적으로 교체하려는 속성을 가진의 ViewController 있습니다. 그러나 그 이미지를 다른 이미지로 대체하려고하면 첫 번째 이미지 만 사용됩니다. 그러나 내가 다른 initContent와 함께 ViewController를 초기화하면 모두 정상적으로 작동합니다.

그래서 내 질문에 올바른/최상의 연습 방법을 내 ViewController 새 인스턴스를 만드는 - 메모리 효율성 현명한 최상의 방법은 무엇입니까?

감사합니다.

+0

viewcontroller의 존재를 check if (viewController) viewController = nil; 그것을 할당하십시오. – Girish

답변

0

전체보기 컨트롤러를 바꾸는 대신 이미지를 변경하고 싶습니다.

이미지를 바꿀 코드를 표시 할 수 있습니까? 또한 이미지를 보기 또는 이미지으로 변경하려면 지정하십시오. (이미지 뷰는 실제 이미지를 화면에 표시하는 것입니다. 혼동을 피하기 위해 속성 이름을 imageView으로 지정하는 것이 좋습니다.)

다음은 두 가지 예입니다. 뷰 컨트롤러에 대한 참조를 보유하는 변수 'theViewController'가 있다고 가정합니다. 이미지를 교체

// Create a new image view with a new image inside it 
theViewController.image = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"img1"]]; 

:

이미지보기를 교체

// Put a new image into the existing image view 
theViewController.image.image = [UIImage imageNamed:@"img1"]; 

속성 이름 imageViewimage 바람직 왜 마지막 예를 보여줍니다 : 당신이 변화처럼 지금 보이는 이미지의 이미지 '로 표시됩니다. 그러나 사실, 당신은 imageView에서 이미지를 바꾸고 있습니다.