2016-05-13 84 views
3

我想在一个单独的swift文件(Login.swift)上设置一个NSUserDefaults变量来确定我的用户是否已登录。如果用户确实已登录,LoginViewController将消失,并且HomeViewController将会所示。但是我正在抛出这个错误UIViewController实例问题

在类型'UIViewController'上使用实例成员'dismissViewControllerAnimated';你的意思是使用'UIViewController'类型的值吗?

这是我的代码

//success 
else if value["username"] != nil && value["password"] == nil && value["message"] == nil 
{ 
NSUserDefaults.standardUserDefaults().setBool(true, forKey: "isUserLoggedIn") 

LoginViewController.dismissViewControllerAnimated(true, completion:nil) 

if let api_key = value["api_token"].string 
{ 
    print("The token is " + api_key) 
} 
else 
{ 
    print("error parsing api token") 
} 
//pass data to Users class 
_ = Users.init(Name: value["name"].string, Email: value["email"].string, Id: value["id"].int, ProfilePicture: value["profile_picture"].string, Username: value["username"].string) 
} 

UIViewController error

+0

dismissViewControllerAnimated是和对象方法,为什么你使用类名称来调用它。 –

回答

0

dismissViewControllerAnimatedInstance方法不class方法。它看起来像你正在与班级打电话。

如果你是在同一个控制器使用:

[topVC dismissViewControllerAnimated:YES completion:nil]; 

如果你不是在控制器使用

UIViewController *topVC = [UIApplication sharedApplication].keyWindow.rootViewController.presentedViewController; 
[topVC dismissViewControllerAnimated:YES completion:nil]; 
0

创建LoginViewController的对象。 使用该对象,然后调用dismissViewControllerAnimated函数。 不允许直接从类名称调用