Как получить доступ к быстрому классу в объектно-c файле

У меня быстрый проект, и я импортирую в проект одноэлементный, объектно-кодированный класс.

Я попытался импортировать файл productname_swift.h, но не повезло.

Как я могу получить доступ к классу swift в этом классе singleton?

One Solution collect form web for “Как получить доступ к быстрому классу в объектно-c файле”

Проект, сделанный в Swift: использование класса Swift в Objective C

Чтобы использовать класс Swift в Objective C , выполните следующие шаги:

  1. Создайте один класс Objective C с именем User .
  2. Всплывающий дисплей с надписью «Хотите настроить заголовок моста Objective-C». Выберите « Создать мост» .

введите описание изображения здесь

user.h

#import <Foundation/Foundation.h> @interface User : NSObject +(id) sharedUser ; @end 

User.m

 #import "User.h" #import "SwiftInObjectiveC-swift.h" @implementation User //Singleton of User +(id)sharedUser{ static User *sharedUser = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ sharedUser = [[self alloc] init]; //Class Method of ViewController.swift [ViewController mySwiftClassFunction]; //Instance Method of ViewController.swift ViewController *vc = [[ViewController alloc] init]; [vc mySwiftFunction]; }); return sharedUser; } -(void) myObjcectivecMethod { ViewController *vc = [[ViewController alloc] init]; [vc mySwiftFunction]; } 
  1. Добавьте @objc в свой .swift класс перед именем класса.

      import UIKit @objc class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } func mySwiftFunction() { print("Swift Function") } class func mySwiftClassFunction (){ print("Swift Class Function") } } 
  2. Перейдите в раздел «Настройки сборки».

  3. Установить имя модуля продукта : имя_проекта

введите описание изображения здесь

  1. Set Defines Module : YES

введите описание изображения здесь

  1. Установить встроенный контент Содержит Swift : YES

введите описание изображения здесь

  1. Установить заголовок совместимости Objective-C : YES

введите описание изображения здесь

  1. Установить Objective-C Bridging Header : SwiftInObjectiveC / SwiftInObjectiveC-Bridging-Header.h

введите описание изображения здесь

  1. Импортируйте автоматически сгенерированный заголовок « ProjectName-swift.h » в ваш * .m- файл.
  2. Очистите и запустите проект.
  3. Это будет работать!!!

Следуйте ссылке Apple для Mix и Match для получения подробной информации.

введите описание изображения здесь

  • Определите, был ли перемещен / перемещен MKMapView в Swift 2.0
  • Беспокойный издевательский синглтон для модульного тестирования в Swift
  • Не уверен, как конвертировать мой быстрый 1.2 в 2.0 или если я должен
  • Прокрутите UITableViewCell и выделите его.
  • Странные ошибки после преобразования кода образца SceneKit в Swift 3
  • Невозможно преобразовать значение типа «String.Type» в ожидаемый тип аргумента «String!»
  • Преобразование JSON в массив в Swift 2
  • Несколько NSURLSession для загрузки Json
  • Почему ViewForAnnotation не вызывается?
  • Как переключиться на фронтальную камеру в Swift 2?
  • Получение разницы между двумя NSDate в (месяцы / дни / часы / минуты / секунды)
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.