我可以创建全局IBOutlets和函数吗?

时间:2018-06-12 10:22:28

标签: ios swift file

是否可以在ViewController.swift和我可以调用的单独的.swift文件之间创建一个链接,比方说UserInterfaceHandler.swift?

我希望能够将所有按钮和视图存储在一个swift文件中,以便在进行更改和/或修改等时轻松导航到代码的不同部分。

我希望能够针对一系列不同的常量执行此操作,包括函数调用。

我知道您可以使用其他语言,就像在PHP中一样:

include('global_variables.php');

然后调用函数,或访问外部文件中设置的变量。

同样在C#中你可以做一些事情:

GetComponent<ExternalScript>().functionName[orVariable]

我怎样才能在swift中做类似的事情?

此外,这种事情的正确术语是什么?因为我没有搜索过,所以给我任何相关的结果/信息。

我想我想做的一个例子是:

创建可以容纳不同资源的不同swift文件(例如.. UserInterface,GuestInterface,UserAnimations,GuestAnimations)。

这样我基本上可以将我创建的每个菜单视图命名为“菜单”,并且访问每个不同的菜单视图,我可以使用以下内容:

UserInterface.Menu.alpha = 0
GuestInterface.Menu.alpha = 1

我现在这样做的方式是给我留下至少1000行不同的IBOutlets,变量和次要功能,这是坦率地说,让我绝对疯狂。

一切顺利,继续踢。

1 个答案:

答案 0 :(得分:1)

谢谢你@NSNoob,你的评论对我有所帮助,但我无法真正找到我的信息。

我反而玩了一下,我想出了以下内容,其他任何人都想知道。

fig a

我创建了2个UIViews,并为它们分配了一个类。

  1. 用户:

    类用户:UIView {

  2. 用户菜单:

    类UserMenu:UIView {

  3. fig b

    现在,如果我点击按钮A,将从ViewController.swift触发以下代码:

    @IBOutlet weak var ButtonA: UIButton!
    @IBAction func ButtonA(_ sender: Any) {
        print("Tapped Button 1")
        User().ShowMenu()
    }
    

    然后在User.swift中触发以下代码:

    func ShowMenu() {
        UserMenu().ShowMe()
    }
    

    然后在UserMenu.swift中触发以下代码:

    func ShowMe() {
        print("I am now being shown.")
    }
    

    我希望这样做的原因是,现在我可以存储与每个视图相关的所有IBOutlet和变量,在它自己的swift文件中,我仍然可以在同一个View Controller场景中工作。

    我现在可以使用ViewController.swift文件作为基本级逻辑处理程序来决定要做什么。

    如果有更好的方法,请告诉我。但就目前而言,我已回答了我自己的问题。

相关问题