Segue от Obj-c, чтобы быстро не может найти собственность - PullRequest
0 голосов
/ 24 мая 2018

Я пытаюсь передать int из файла target-c в swift.

Шаги, которые я предпринял, действительно работают, однако, к сожалению, они не передают int из-за следующегоошибка: Property 'productKey' not found on object of type 'ProductViewController *'

Подготовка Segue

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
  if ([segue.identifier isEqualToString:@"viewProduct"]) {
    ProductViewController *destVC = segue.destinationViewController;
    destVC.productKey = brandID;
  }
}

Выполнение Segue

dispatch_async(dispatch_get_main_queue(), ^(){
   [self performSegueWithIdentifier:@"viewProduct" sender:self];
});

Swift File

class ProductViewController: UIViewController {

    var productKey: Int!

    override func viewDidLoad() {
        super.viewDidLoad()
           print(productKey)
    }
}

Мост заголовка

 //
//  Use this file to import your target's public headers that you would like to expose to Swift.
//

#import "ARSceneViewController.h"

1 Ответ

0 голосов
/ 24 мая 2018

Если вы используете файл Swift в классах objc, заголовок Bridging здесь не поможет.

Xcode создаст файл заголовка, который вам необходимо импортировать

Сначала перейдите к настройкам сборки и выполните поиск Определяет модули и устанавливает для него значение true.

Теперь в .m файле добавьте следующий заголовочный файл

#import "YourTargetName-Swift.h" 

и создайте проект

, а такжедобавить @objc перед вашей собственностью

Надеюсь, что это полезно

...