Передача данных между классом objc и swift - PullRequest
0 голосов
/ 10 октября 2019

Я использую obj-c и swift. У меня есть класс objc, где я анализирую некоторые данные json, но я хочу, чтобы данные были сохранены в некоторой переменной, которую я позже буду использовать в моем файле swift. Как я могу передать эти данные. Я думал, что мой вызов swift класса в objc и установка этих значений будут работать, но они не сохраняются.

Вот как я сохранил его в objc, но не знаю, как вызвать его из моегоСвифт класс. Может ли кто-нибудь помочь мне с передачей значений между классами?

JSONResultActivity = [dataDict objectForKey:@"activity"];
JSONResultEngagement = [dataDict objectForKey:@"Conversation"];

ViewController *vc = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
vc.valuesActivity = JSONResultActivity;              
vc.valuesEngagement = JSONResultEngagement;

1 Ответ

0 голосов
/ 10 октября 2019

Предполагая, что переменная является строкой,

Убедитесь, что

  1. у вас есть @objc в вашем файле swift перед ключевым словом
@objc class ViewController: UIViewController
вы создали переменную, к которой хотите получить доступ в вашем файле swift
public var valuesActivity:String = ""
public var valuesEngagement:String = ""
Вы добавили импорт в свой целевой файл C #import "TargetName-Swift.h Целевым именем будет либо название проекта, либо целевое имя

Только когда эти 3 условия будут выполнены, вы сможете установить свой swiftVC значение из файла C цель

ViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"ViewController"];
vc.valuesActivity =  [NSDictionary dictionaryWithDictionary:tempDictionary];
vc.valuesActivity = JSONResultActivity;              
vc.valuesEngagement = JSONResultEngagement;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...