【问题标题】:Can I perform a certain task based on a view controller's identifier?我可以根据视图控制器的标识符执行特定任务吗?
【发布时间】:2015-03-22 22:33:01
【问题描述】:

我想知道只有当类的标识符是(例如)“hello”时,我是否可以运行一些代码行。如果是这样,我该如何检查?是不是像下面这样?

if (firstInterfaceController.identifier == @"hello")
{
    // perform some lines of code
}

【问题讨论】:

    标签: objective-c xcode uiviewcontroller identifier


    【解决方案1】:

    理论上,是的……尽管肯定有更好的方法来实现您想要做的事情。根据复杂性,您可能希望创建一个继承自父 firstInterfaceController 的子类。或者,您可以检查不依赖于视图的其他变量。

    【讨论】:

    • 我在故事板中有 20 多个视图控制器(每个都有标识符 1、2、3 等),我想在一个类中为它完成所有工作,然后只做 @ 987654322@if identifier = 2 then... (1 line of code)。最好的方法是什么?我不想制作 20 多个类文件并在每个类文件中做同样的事情。
    • 正确,您绝对不想创建 20 多个执行相同操作的类文件。如果它正在执行几行代码,您可以将它放在一个 switch case 中作为标识符,为每个 case 执行几行代码。如果多个标识符执行相同的代码,您可以执行case 3 ... 6 之类的操作,并为多个标识符执行相同的代码。
    • 如何为标识符制作一个开关盒?
    • if (identifier = 1) 类似,只需创建一个开关盒。 identifier 可能不是最好用的。例如,您还可以在视图标签上进行切换。无论哪种情况,它都类似于:switch (identifier) case 0: // code; break; default; break; 添加与标识符一样多的案例。
    • 是的,我打算这样做,但我不知道您如何设置标识符。我应该这样做firstInterfaceController.identifier吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多