Yan*_*yal 17 viewcontroller appdelegate swift
我想在文本或csv(prefer)文件中写入视图控制器中的变量.
事实上,我正在做一个绘图应用程序,我想在文件中写下手指的当前位置.
class ViewController: UIViewController {var lastPoint = CGPoint.zeroPoint ... }
Run Code Online (Sandbox Code Playgroud)
我想从AppDelegate访问lastPoint.x和lastPoint.y.我怎么能这样做?谢谢.
The*_*Tom 34
你的问题充满了混乱,但如果这就是你要找的东西:
您可以通过获取对它的引用来访问appDelegate:
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
Run Code Online (Sandbox Code Playgroud)
之后,如果您在appDelegate中存储了一个名为lastPoint的属性,则可以非常简单地访问其组件:
let x = appDelegate.lastPoint.x
let y = appDelegate.lastPoint.y
Run Code Online (Sandbox Code Playgroud)
如果您需要从AppDelegate访问您的viewController属性,那么我建议您在appdelegate中引用您的视图控制器:
var myViewController: ViewController!
Run Code Online (Sandbox Code Playgroud)
然后,当您创建视图控制器时,您可以在appdelegate属性中存储对它的引用:
如果您在appDelegate之外创建视图控制器:
Swift 1-2语法
var theViewController = ViewController()
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
appDelegate.myViewController = theViewController
Run Code Online (Sandbox Code Playgroud)
Swift 3-4语法
var theViewController = ViewController()
let appDelegate = UIApplication.shared.delegate as! AppDelegate
appDelegate.myViewController = theViewController
Run Code Online (Sandbox Code Playgroud)
如果您在appDelegate中创建视图控制器:
self.myViewController = ViewController()
Run Code Online (Sandbox Code Playgroud)
之后,只需访问其属性,即可从appdelegate访问viewcontroller中的数据:
let x = self.myViewController.lastPoint.x
let y = self.myViewController.lastPoint.y
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
26762 次 |
最近记录: |