我搜索与viewDidLoad()非常相似的函数(包含在iOS或外部库中)。不同之处在于,搜索的功能仅在应用程序首次启动时使用,即用户打开应用程序时。每次加载视图时都使用ViewDidLoad()。但搜索到的函数xy()仅在运行时第一次加载视图时使用。
这是正常版
用户打开App,View 1打开 - > ViewDidLoad()视图1 - >用户打开 查看2 .... - >用户返回视图1 - > View 1的ViewDidLoad()
我搜索
用户打开App,View 1打开 - > ViewDidLoad()的视图1和功能 xy() - >用户打开视图2 .... - >用户返回视图1 - > ViewDidLoad()的视图1(此时不是函数xy()因为视图 已在此运行时加载)
感谢您的帮助!
答案 0 :(得分:2)
你试过吗
line.geometry.vertices[1]
答案 1 :(得分:1)
您可以在 obj-c 的dispatch_once
区块中运行一次所需的代码,并使用static var
代替 swift
<强>的OBJ-C:强>
- (void)viewDidLoad
{
[super viewDidLoad];
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
// code you place here will run once
});
}
Swift 3
static var didInit = false
override func viewDidLoad()
{
super.viewDidLoad()
if MyClass.didInit == false {
MyClass.didInit = true
// code you place here will run once
}
}