iOS函数类似ti viewDidLoad()

时间:2016-11-05 15:56:54

标签: ios swift

我搜索与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()因为视图   已在此运行时加载)

感谢您的帮助!

2 个答案:

答案 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
    }
}