2016-07-29 2 views
1

내가 원하는 것은 사용자가 Swift의 UITableView에서 지구를 선택할 때 지구 이름을 가져와 .png을 추가하고 Objective- C 파일을 만들고 내부에 UIImageView을 만듭니다.swift에서 objective-c 변수에 값 할당

이 내가 스위프트 UITableView에서에 값을 할당하는 방법

@property (weak, nonatomic) NSString *mapImage; 

이다, 내 목표 - C의 .H 파일 안에 내 코드입니다 때 UITableView (didSelectItemAtIndexPath)에 사용자가 클릭,

selectesState = namesArray[indexPath.row] 
let temp :String = selectesState + ".png" 
let instanceOfCustomObject: StateMapPinView = StateMapPinView() 
instanceOfCustomObject.mapImage = temp 

이것은 .m 파일 (ViewDidLoad)의 이미지를 설정하는 Objective-C 코드입니다.

UIImage *image = [UIImage imageNamed:_mapImage]; 
_myView = [[VIPhotoView alloc] initWithFrame:self.view.bounds andImage:image]; 
_myView.autoresizingMask = (1 << 6) -1; 

[self.view addSubview:_myView]; 

하지만 null 값을 계속 반환합니다.
내 코드가 뭐니?

@property (copy, nonatomic) NSString *mapImage; 

이 할당되면 값이 복사되어 있는지 확인합니다 :

답변

2

당신은에 속성의 선언을 변경해야합니다. 귀하의 경우 약한을 사용하므로 현재 범위의 실행이 끝날 때 값이 할당 취소됩니다.

+0

'약하게'를 '복사'로 변경했지만 나에게 'null'이 표시됩니다. – Bishan

+0

전체 코드를 게시 할 수 있습니까? 특히'mapImage' 속성에서 읽는 부분은 무엇입니까? – fiks

+0

정확히 어디에서 nil을 가지고 있습니까? '_mapImage'에서 이미지를 생성하는 라인에서? 'self.mapImage'를 사용해 보셨습니까? 'mapImage' 속성을 정의한 클래스의 인터페이스와 구현 부분을 게시 할 수 있습니까? – fiks

0

Makesure와 동일한 'instanceOfCustomObject'인스턴스가 있습니다. 다시 인스턴스화되면 'mapImage'에 대해 null이 반환됩니다.

'instanceOfCustomObject'의 동일한 인스턴스를 사용하고 Obj-c를 사용해보십시오.

CustomObjectClass *instanceOfCustomObject = (CustomObjectClass *) 'same_instanceOfCustomObject'; 

[UIImage imageNamed: instanceOfCustomObject.mapImage];