Как получить доступ к быстрому классу в объектно-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 для получения подробной информации.

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

  • Как установить ширину ящика MMDrawerController в ширину экрана с помощью Swift 2?
  • Как сохранить видеоролик ReplayKit в рулон камеры с помощью кнопки «Добавить приложение»
  • Какой из них лучше определять пользователей в быстром управлении памятью? Enum, Struct или класс в swift?
  • sendAsynchronousRequest устарел в iOS 9
  • Динамические дополнительные свойства в Swift 2.0
  • Получите UIImage только с библиотекой Kingfisher
  • 3D Touch Peek Swipe Like Mail
  • Как играть в видео vimeo на UIwebview не в полноэкранном режиме ios swift 2.0
  • CLGeocoder возвращает неверные результаты, когда название города равно имени какой-либо страны (и не только)
  • Разрешить пользователям фоновую музыку в swift 2.0
  • Как реализовать общий блок try-try-catch, чтобы поймать все ошибки, которые бросаются на операцию
  • Interesting Posts

    получить событие click на subview в главном uiview

    Swift, пользовательский UITableViewCell с UIImageView. Необходимо изменить размер ячейки до высоты изображения

    UITableViewCell переустанавливается при прокрутке на экране

    AVCaptureVideoDataOutput и настройка kCVPixelBufferWidthKey & kCVPixelBufferHeightKey

    Оптимизация: что такое sidetable_release () и sidetable_retain ()?

    Путайте ошибку компиляции, пытающуюся перейти на Swift 1.2

    загрузить файл с использованием AFNetworking, сервер обнаруживает пустой поток

    Могу ли я использовать Google Analytics для сортировки статистики моего приложения для iOS?

    Поддержка множественного разрешения экрана в cocos2d v3?

    Nativescript: перемещение между маршрутизаторами

    CFHTTPMessageAddAuthentication не удается добавить данные аутентификации для запроса

    XCode Project: как создавать подпроекты как статические библиотеки?

    Ошибка загрузки WebView CALayer в SCNNode

    iOS – создание и воспроизведение неограниченного, простого звука (синусоида)

    как определить селектор в swift3 для метода переопределения

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.