我正在尝试在单独的swift文件(Login.swift)上设置NSUserDefaults变量以确定我的用户是否已登录。如果用户确实已登录,则LoginViewController将消失并显示HomeViewController。但是我被抛出这个错误
使用实例成员' dismissViewControllerAnimated'在类型' UIViewController&#39 ;;你的意思是使用类型' 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)
}
答案 0 :(得分:0)
dismissViewControllerAnimated
其Instance
方法不是class
方法。看起来你正在和班级打电话。
如果您使用同一个控制器:
[topVC dismissViewControllerAnimated:YES completion:nil];
或
如果您不在该控制器中,请使用
UIViewController *topVC = [UIApplication sharedApplication].keyWindow.rootViewController.presentedViewController;
[topVC dismissViewControllerAnimated:YES completion:nil];
答案 1 :(得分:0)
创建LoginViewController的对象。 使用该对象然后调用dismissViewControllerAnimated函数。 不允许从班级名称直接打电话