当前位置: 首页 > 面试题库 >

在Swift中从另一个ViewController访问变量

童化
2023-03-14
问题内容

我有以下内容ViewController

class PageContentViewController: UIViewController {

    var pageIndex: Int

}

我如何pageIndex从另一个ViewController 访问?

我需要访问pageIndex此功能:

func pageViewController(pageViewController: UIPageViewController!, viewControllerBeforeViewController viewController: UIViewController!) -> UIViewController! {

    //var index: Int
    //index = ?

    NSUInteger index = ((PageContentViewController*) viewController).pageIndex; // in Swift?

    if ((index == 0) || (index == NSNotFound)) {
        return nil;
    }

    index--;

    return [self viewControllerAtIndex:index]; // in Swift?
}

问题答案:

默认情况下,swift中的所有内容都是公开的,因此,如果您声明以下内容:

class SomeViewController: UIViewController {
    var someVariable: SomeType = someValue

    init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) {
        super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
    }
}

只要拥有它的实例,就可以访问它:

var myCustomViewController: SomeViewController = SomeViewController(nibName: nil, bundle: nil)
var getThatValue = myCustomViewController.someVariable


 类似资料:
  • 问题内容: 我刚开始使用快速语言,并且知道这个问题是重复的。我发现了几个类似的问题和答案,但我无法弄清这个问题。 我想将ScandString变量的值从ScanViewController传递给ResultViewController。 ScanViewcontroller如下: ResultViewController如下: println(detectedString)没有给我任何结果。问题是

  • 问题内容: 是否可以从ViewController中的SceneDelegate访问窗口变量?基本上我需要一个替代方案,但是什么也找不到 问题答案: 从 iOS 13开始 ,应用程序可以具有多个活动窗口,因此您需要访问所需的窗口。因此,您可以访问任何类似这样的窗口: 如果您 确实 要访问,则可以按以下方式进行访问: 旧:不推荐: 假设 只有一个场景代表。 只有一个场景和一个窗口。 该应用程序中的所

  • 问题内容: 我正在尝试将数据从一个View Controller的文本字段传输到另一个视图的标签。 如何从另一个View Controller的代码中调用View Controller实例?我正在使用情节提要,因此从未在代码中创建视图控制器的实例吗?是否自动创建实例?他们叫什么名字? 谢谢你的帮助! 问题答案: 在您的项目中添加一个新的Cocoa Touch类文件,为其命名并在其中设置以下代码:

  • 我是java新手,我不知道如何从另一个类访问变量 我正在尝试编写一个代码来发送带有未存储在本地的附件的邮件。我想访问SendMail类中ExcelFile类中编写的变量 如何在另一个类中访问excelFileAsByte并发送邮件而不将其存储在本地。我可以使用addBodyPart和ByteArrayResource将文件添加为附件吗。