Objective C 모듈이 Xcode 8에서 Swift 3 클래스를 볼 수없는 이유는 무엇입니까?

오웬 고드프리

나는 몇 달 동안 이것으로 어려움을 겪고 있습니다. 많은 답을 찾았지만 지금까지 나를 위해 일한 사람은 없습니다.

몇 년 동안 스토어에있는 작동중인 iOS 앱이 있습니다. 원래 목적 C로 작성되었으며 언어의 기능을 활용하기 위해 Swift 코드를 추가했습니다. 프로젝트를 Xcode 8과 Swift 3로 변환했을 때 500 개가 넘는 오류가 발생하여 천천히 제거해야했습니다. 결국 나는 단지 하나의 오류 클래스에 도달했습니다. Swift 클래스는 객관적인 C 모듈에 표시되지 않습니다.

이제 ... @objc로을 선언했고, 만일을 대비하여 클래스가 public으로 선언되었는지 확인했습니다. 빠른 클래스가 NSObject에서 파생 되었기 때문에 이러한 것들은 어쨌든 중요해야합니다.

다음은 축소 예입니다.

@interface PDAppDelegate ()

@property (strong, nonatomic, readwrite) PDGameManager *gameManager;

@end


@implementation PDAppDelegate {
    NSString * stoppedMusicKey;
}

- (BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [PDAward resetTutorial];
    return YES;
}

import Foundation
import CoreData

@objc class PDAward: NSManagedObject {

    @NSManaged var awardValue: Int16

    enum AwardType: Int16 {
        case Start = 0, Spin = 1, Water = 2, Treats = 3, Food = 4, Album = 5, Facebook = 101, Ball = 102, Name = 103, Gesture = 201, Weekly = 301, Stop = -1
    }

    var award: AwardType {
        get {
            return AwardType(rawValue: awardValue)!
        }
        set {
            awardValue = newValue.rawValue
        }
    }

    @objc class func resetTutorial() {
        // reset stuff
    }
}

물론 이것은 크게 줄었지만 문제의 모든 요소를 ​​파악했으면합니다.

이전에이 코드가 작동했음을 강조하겠습니다. 왜 지금 작동하지 않습니까?

매트

문제의 모든 요소를 ​​파악했으면합니다.

당신은하지 않았습니다. 가장 중요한 것은 생략 한 것입니다. Objective-C 코드는 Swift 헤더를 가져와야합니다.

#import "MyModuleName-Swift.h"

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Swift에서 이미지를 볼 수없는 이유는 무엇입니까?

분류에서Dev

하위 클래스가 부모 클래스의 메서드를 볼 수없는 이유는 무엇입니까?

분류에서Dev

xCode-보기에서이 개체를 볼 수없는 이유는 무엇입니까?

분류에서Dev

Objective-C 클래스의 (id) 유형이있는 initTESTING ()이 Swift에서 호출에 실패하는 이유는 무엇입니까?

분류에서Dev

모듈에서 Fixnum 클래스를 확장하여 사용할 수없는 이유는 무엇입니까?

분류에서Dev

Xcode 스토리 보드와 장치에서 볼 때 탐색 모음이 다른 이유는 무엇입니까?

분류에서Dev

div 내에서 내 div를 볼 수없는 이유는 무엇입니까?

분류에서Dev

Chrome에서 내 HTTP 헤더를 볼 수없는 이유는 무엇입니까?

분류에서Dev

내 위젯이 내 앱이 SwiftUI에서 볼 수있는 클래스를 찾을 수없는 이유는 무엇입니까?

분류에서Dev

Objective-C / Swift에서 비동기 네트워크 테스트가 어려운 이유는 무엇입니까?

분류에서Dev

함수 (Swift3) 내에서 ViewController 변수에 액세스 할 수없는 이유는 무엇입니까?

분류에서Dev

aspx.cs 파일에서 내 C # 클래스를 사용할 수없는 이유는 무엇입니까?

분류에서Dev

Windows 8 디스크 관리자에서 볼륨을 확장 할 수없는 이유는 무엇입니까?

분류에서Dev

Windbg가 델파이에서 생성 된 메모리 누수를 볼 수없는 이유는 무엇입니까?

분류에서Dev

Objective-C의 다른 클래스에서 데이터를로드하는 방법은 무엇입니까?

분류에서Dev

XCode 5 Organizer에서 프로비저닝 프로파일을 볼 수없는 이유는 무엇입니까?

분류에서Dev

HttpUtility.ParseQueryString 메서드를 볼 수없는 이유는 무엇입니까?

분류에서Dev

sbt 콘솔이 다중 모듈 프로젝트의 하위 프로젝트에서 패키지를 볼 수없는 이유는 무엇입니까?

분류에서Dev

Swift에서 다른 클래스의 속성에 액세스 할 수없는 이유는 무엇입니까?

분류에서Dev

AWS RDS MySQL에서 데이터베이스를 볼 수없는 이유는 무엇입니까?

분류에서Dev

Swift 클래스를 Objective-C에 노출하지 않고 Objective-C 프로토콜을 준수하도록 만드는 방법은 무엇입니까?

분류에서Dev

Swift 클래스에서 Objective-C NSMutableDictionary에 액세스하는 방법은 무엇입니까?

분류에서Dev

Xcode에서 presentViewController를 사용할 수없는 이유는 무엇입니까?

분류에서Dev

env 출력에서 볼 수있는 변수를 인쇄 할 수없는 이유는 무엇입니까?

분류에서Dev

PowerShell에서 내 스크립트의 매개 변수를 볼 수없는 이유는 무엇입니까?

분류에서Dev

Objective-C에서 세 개의 데이터 변수를 포함하는 클래스에 데이터를 저장하는 방법은 무엇입니까?

분류에서Dev

모듈이 엔진 코드 내에서 클래스를 보지 못하는 이유는 무엇입니까?

분류에서Dev

Android Studio에서이 이미지의 미리보기를 볼 수없는 이유는 무엇입니까?

분류에서Dev

Windows 10이 KVM에서 HDD 이미지를 볼 수없는 이유는 무엇입니까?

Related 관련 기사

  1. 1

    Swift에서 이미지를 볼 수없는 이유는 무엇입니까?

  2. 2

    하위 클래스가 부모 클래스의 메서드를 볼 수없는 이유는 무엇입니까?

  3. 3

    xCode-보기에서이 개체를 볼 수없는 이유는 무엇입니까?

  4. 4

    Objective-C 클래스의 (id) 유형이있는 initTESTING ()이 Swift에서 호출에 실패하는 이유는 무엇입니까?

  5. 5

    모듈에서 Fixnum 클래스를 확장하여 사용할 수없는 이유는 무엇입니까?

  6. 6

    Xcode 스토리 보드와 장치에서 볼 때 탐색 모음이 다른 이유는 무엇입니까?

  7. 7

    div 내에서 내 div를 볼 수없는 이유는 무엇입니까?

  8. 8

    Chrome에서 내 HTTP 헤더를 볼 수없는 이유는 무엇입니까?

  9. 9

    내 위젯이 내 앱이 SwiftUI에서 볼 수있는 클래스를 찾을 수없는 이유는 무엇입니까?

  10. 10

    Objective-C / Swift에서 비동기 네트워크 테스트가 어려운 이유는 무엇입니까?

  11. 11

    함수 (Swift3) 내에서 ViewController 변수에 액세스 할 수없는 이유는 무엇입니까?

  12. 12

    aspx.cs 파일에서 내 C # 클래스를 사용할 수없는 이유는 무엇입니까?

  13. 13

    Windows 8 디스크 관리자에서 볼륨을 확장 할 수없는 이유는 무엇입니까?

  14. 14

    Windbg가 델파이에서 생성 된 메모리 누수를 볼 수없는 이유는 무엇입니까?

  15. 15

    Objective-C의 다른 클래스에서 데이터를로드하는 방법은 무엇입니까?

  16. 16

    XCode 5 Organizer에서 프로비저닝 프로파일을 볼 수없는 이유는 무엇입니까?

  17. 17

    HttpUtility.ParseQueryString 메서드를 볼 수없는 이유는 무엇입니까?

  18. 18

    sbt 콘솔이 다중 모듈 프로젝트의 하위 프로젝트에서 패키지를 볼 수없는 이유는 무엇입니까?

  19. 19

    Swift에서 다른 클래스의 속성에 액세스 할 수없는 이유는 무엇입니까?

  20. 20

    AWS RDS MySQL에서 데이터베이스를 볼 수없는 이유는 무엇입니까?

  21. 21

    Swift 클래스를 Objective-C에 노출하지 않고 Objective-C 프로토콜을 준수하도록 만드는 방법은 무엇입니까?

  22. 22

    Swift 클래스에서 Objective-C NSMutableDictionary에 액세스하는 방법은 무엇입니까?

  23. 23

    Xcode에서 presentViewController를 사용할 수없는 이유는 무엇입니까?

  24. 24

    env 출력에서 볼 수있는 변수를 인쇄 할 수없는 이유는 무엇입니까?

  25. 25

    PowerShell에서 내 스크립트의 매개 변수를 볼 수없는 이유는 무엇입니까?

  26. 26

    Objective-C에서 세 개의 데이터 변수를 포함하는 클래스에 데이터를 저장하는 방법은 무엇입니까?

  27. 27

    모듈이 엔진 코드 내에서 클래스를 보지 못하는 이유는 무엇입니까?

  28. 28

    Android Studio에서이 이미지의 미리보기를 볼 수없는 이유는 무엇입니까?

  29. 29

    Windows 10이 KVM에서 HDD 이미지를 볼 수없는 이유는 무엇입니까?

뜨겁다태그

보관