hun*_*erp 0 objective-c ios swift
我从View1开始使用swift,我调用View2,它在objective-c中,我在View2中收集输入,我想将一个String返回给View1.
最简单的方法是什么?
设置Swift文件以引用Objective-C代码:
#import要在Swift(ViewController2.h)中使用的Objective-C头文件进入自动生成ProjectName-Bridging-Header.h.还导入导入文件所依赖的任何框架.设置Objective-C文件以引用Swift代码:
Embedded Content Conatins Swift Code为YesInstall Objective-C Compatibility Header为YesObjective-C Generated Interface Header Name.这看起来像ProjectName-Swift.h@objc如下:
@objc class ViewController1: UIViewController { ... }ViewController2.m或.h,#import "ProjectName-Swift.h.这可能会也可能不会自动完成,因此请输入.现在,您将设置为引用不同语言的视图控制器.我们假设这ViewController1是父视图控制器ViewController2.你现在可以像这样传回字符串:
NSString *input = // get the input
ViewConrtoller1 *viewContr1 = (ViewConrtoller1 *)self.parentViewController;
viewContr1.stringInput = input;
Run Code Online (Sandbox Code Playgroud)
或者从:ViewController1到ViewController2:
// in prepare for segue
let someString = // whatever you want to pass
let viewContr2 = segue.destinationViewController as! ViewController2
viewController2.someString = someString
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
242 次 |
| 最近记录: |