我在ViewController中定义了一个结构,如下所示:
struct Meme {
var topText : String
var bottomText : String
var originalImage : UIImage
var memedImage: UIImage
}
现在,当我尝试使用以下代码从appDelegate访问结构时,我得到一个未解析的标识符错误:
var memes = [Meme]()
有人可以解释为什么会发生这种情况,我如何从appDelegate访问viewController结构?
谢谢!
答案 0 :(得分:0)
如果没有实例,则无法访问类的属性。
在AppDeletegate
文件中执行以下操作:
// create instance of your viewcontroller class
let viewController = ViewController()
// access the property
viewController.memes = [Meme]()
答案 1 :(得分:0)
这可以通过另一种方式实现:
import UIKit
var memes = [Meme]()
class ViewController: UIViewController {
}
好的,模因不是UIViewController的范围,但是它们在同一个文件中,就像它们是全局变量一样。
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
print(memes[0].bottomText)
return true
}
祝你一切顺利。
答案 2 :(得分:0)
假设结构是在你所说的ViewController类中定义的,你将需要使用ViewController的命名空间以下列方式访问它:
var memes = [MyViewController.Meme]()
答案 3 :(得分:0)
我实际上已经很久以前就知道了这一点。对不起延迟更新。有相同问题的人,请创建一个名为“Meme.swift”的新swift文件,然后在该文件中编写meme结构。你的问题现在应该解决了。谢谢!