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

标签 ios objective-c swift uipageviewcontroller

我有以下 ViewController:

class PageContentViewController: UIViewController {

    var pageIndex: Int

}

如何从另一个 ViewController 访问 pageIndex

我需要在这个函数中访问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

关于ios - 在 Swift 中从另一个 ViewController 访问变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24072766/

相关文章:

ios - 数据未从 JSON 加载到第二个 View Controller 上

ios - Swift UITableView didSelectRowAtIndexPath 没有被调用

ios - 没有键映射的 RestKit 关系连接到特定的核心数据对象

ios - 使用 SwiftyJSON 将 JSON 数组反序列化为 Swift 对象

objective-c - NSTextView 中的表情符号

ios - 使用钥匙串(keychain)存储访问 token 和用户登录 - AFNetworking

ios - BGTaskScheduler 提交调用失败,BGTaskSchedulerErrorDomain 代码为 : 1

ios - 数组中字符串的 UISearchBar

ios - AppDelegate 中对成员 'subscript' 的引用不明确

iphone - 如何在 NSLog 中查看对象的值?