将数据从 Swift 控制器传递到 Objective-C 控制器

Posted

技术标签:

【中文标题】将数据从 Swift 控制器传递到 Objective-C 控制器【英文标题】:Passing data from a Swift Controller to an Objective-C controller 【发布时间】:2017-05-31 12:36:44 【问题描述】:

我正在尝试将一个简单的字符串从 Swift 控制器传递到 Objective-C 控制器,但不幸的是它不起作用。

我得到的错误:

“EUIDViewController”类型的值没有成员“stringPassed”

Swift 代码发送字符串

let pvc = EUIDViewController(nibName: "ScannerViewController", bundle: nil)
if isHasCameraPermission 
    pvc.stringPassed = "test"
    present(pvc, animated: true, completion:  _ in )

Objective-C 代码接收字符串

@property (strong, nonatomic) NSString* stringPassed;

- (void)viewDidLoad 
    [super viewDidLoad];
    [self initOCR];
    NSLog(@"String: %@", self.stringPassed);

更新:我将 #import "EUIDViewController.h" 放入了桥接头

【问题讨论】:

【参考方案1】:

您需要在.h 中声明stringPassed 属性,表示该ViewController 的头文件。

@interface ViewController : UIViewController

@property (strong, nonatomic) NSString* stringPassed;

@end

【讨论】:

哦,谢谢!我觉得自己很愚蠢...我会尽可能将您的答案标记为正确的答案! @Isabelle 欢迎朋友 :)

以上是关于将数据从 Swift 控制器传递到 Objective-C 控制器的主要内容,如果未能解决你的问题,请参考以下文章