Импортировать Swift в Objective-C - «использование необъявленного идентификатора» - PullRequest
0 голосов
/ 14 января 2019

Я не могу импортировать класс Swift в Objective-C.

  • Версия Xcode: 10.1
  • Swift: 4,2

Мои шаги:

  1. Создание пустого проекта Objective C для одного представления под названием "test".

  2. Создать класс Swift (mytestclass.swift)

  3. Создание связующего пустого заголовка "test-Swift.h"

  4. Попробуйте использовать в ViewController.m вот так: #import "test-Swift.h" [[MyTestClass init] calculate];

mytestclass.swift

import Foundation

@objc public class MyTestClass: NSObject {

    @objc public func calculate() {
        print("TEST")
    }
}

После компиляции получаю:

/ Users / xxx / Desktop / test / ViewController.m: 19: 7: Использование необъявленного идентификатор «MyTestClass»

Чего мне не хватает?

1 Ответ

0 голосов
/ 14 января 2019

Ваша проблема в шаге

3- Создать пустой заголовок моста "test-Swift.h"

Вам не следует создавать этот файл вручную, так как он создается при добавлении файла swift в Objective-C, также вам необходимо заменить эту строку

[[MyTestClass init] calculate];

с

[[[MyTestClass alloc] init] calculate];

или

[[MyTestClass new] calculate];

Вот рабочая демоверсия

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...