2014-12-30 3 views
0

객관적인 C로 작성된 "pictureView"보기 컨트롤러에서 swift로 작성된 "profileView"보기 컨트롤러로 값을 전달하려고합니다. 나는 다음과 같은 코드를 사용하여 SEGUE 방법을 준비 사용하려고Objective C의보기 컨트롤러에서 Swift의 컨트롤러로 데이터를 전달

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ 
if([segue.identifier isEqualToString:@"unwindToProfileView"]){ 
    profileView *controller = (profileView *)segue.destinationViewController; 
    controller.valueToPass = "PassedValue"; 
    } 
} 

내가 "profileView"뷰 컨트롤러가 목표 C와 엑스 코드입니다 위의 방법에서 호출 할 때 인식되지 않습니다되고 실행 해요 문제 오류가 발생했습니다. 이것은 객관적인 C에서 신속한 뷰 컨트롤러로 데이터를 전송하는 올바른 방법인지 아니면 헤더 또는 profileView.swift 파일에서 뭔가를해야하는지 잘 모르겠습니다.

바라기를이 복제본이 아닙니다. objc VC에서 신속 VC로 데이터를 전송하는 것과 관련하여 아무 것도 찾을 수 없었습니다. 어떤 도움이라도 좋을 것입니다.

답변

0

Objective-C 브리징 헤더를 추가하고 해당 브리징 헤더에 "profileView"보기 컨트롤러를 가져옵니다. 그런 다음 "profileView"보기 컨트롤러를 참조 할 수 있습니다.

+0

여기를 참조하십시오. https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html –

+0

#import "profileView-Swift.h"를 사용하여 브리징 헤더에 프로필보기를 추가했습니다. "같은 오류가 나타나고 있습니다. 나는 아직도 "profileView"를 뷰 컨트롤러로 인식하고 있다고 생각하지 않는다. profileView 컨트롤러 ID의 이름도 올바르게 지정됩니다. – Ryguyu

+0

또한 UIKit 및 Foundation과 같이 profileView에서 사용하는 모든 프레임 워크를 가져와야합니다. Build Settings (Swift 컴파일러 - 코드 생성 아래)의 Objective-C 브리징 헤더가'/profileView-Swift.h'와 같은 것으로 설정되었는지 다시 확인하십시오. – keithbhunter

0

이것은 실제로 내 질문에 대한 답변이 아니며, 내가 원하는 방식으로 작동하지 못했습니다. 하지만 문제를 해결 한 방법은 Obj C에서 Swift가 볼 수있는 전역 변수를 만드는 것이 었습니다. 브리징 헤더에 전역 변수가 포함되어 있는지 확인해야합니다.

관련 문제