저는이 새로운 구문을 이해하기 위해 현재 여러 가지 Swift 클래스를 온라인으로 사용하고 있습니다. 그러나 실제로 파악할 수없는 벽을 뚫은 것처럼 느껴집니다.Swift에서 Custom Objective 메서드를 호출 하시겠습니까?
내 질문은 : 신속한 내부에서 사용자 지정 목표 메서드를 호출하려면 어떻게해야합니까? 왜 코드가 어디에서 왔는지 신속하게 인식하지 못합니까? "UIViewController에 'customMethod'라는 멤버가 없다는 오류가 발생하는 이유는 무엇입니까? 수입 문제입니까? 그런 다음
- (void)configureMyApp
{
// overriden by subclasses
}
이 하나 내가 묻고 배경
있어 왜 내 질문을 알고 이제
, 여기에 나는이 방법을 호출하는 목표는 -c하는 .m 파일이 있습니다 :
- (void)addAppElement:(MyAppElement *)element
{
[self addAppElement atIndex:[self.elements count]];
}
내 신속한 응용 프로그램에서 나는 브리지 헤더를 설정 한 및 상기 헤더 파일
을에 .H 파일을 가져 오기나는이 빠른 기능을 통해 configureMyApp
메소드를 호출 시도 :
func configureMyApp()
{
self.addAppElement...
}
하지만 내 수입 목표 C 파일에서 들어오는 그 기능을 인식하지 않으며, 어느 쪽도 인식하지 myswiftfile.swift 않습니다 addAppElement
obj-c로 호출하는 방법은 다음과 같습니다.
- (void)configureMyApp
{
[super configureMyApp];
[self addAppElement:.....];
}
obj-c 코드를 가져 오려면 다른 작업이 필요합니까? 나는 무엇을 놓칠 수 있 었는가?
브리징 헤더가 올바르게 구성 되었습니까? [Cocoa 및 Objective-C와 함께 Swift 사용 : 동일한 프로젝트에서 신속하고 객관적인 -C] (https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html#//)를 참조하십시오. apple_ref/doc/uid/TP40014216-CH10-XID_76). – Rob
ViewController.h 파일에 이러한 메서드를 추가 했습니까? – ujell
예 이러한 메서드는 내 ViewController.h 파일에 있으며 브리징 헤더가 필요한 코드 스 니펫을 이미 사용하고 있으므로 브리징 헤더가 올바르게 구성되어 있다고 확신합니다. – YichenBman