首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >私人屏幕片段?

私人屏幕片段?
EN

Stack Overflow用户
提问于 2014-12-17 06:47:52
回答 1查看 38关注 0票数 0

我有一个基本的登录/注册字段,用户可以在我的应用程序中使用。我还想启动一个私人屏幕的片段:一个新的视图控制器,用户可以在点击登录/注册按钮后看到。如果有人有登录或注册应用程序的经验,我将不胜感激,可以帮助我以编程方式指定一个名为UserViewController的视图控制器的段。

代码语言:javascript
复制
-(IBAction)btnLoginRegisterTapped:(UIButton*)sender {
//form fields validation
if (fldUsername.text.length < 4 || fldPassword.text.length < 4) {
    [UIAlertView error:@"Enter username and password over 4 chars each."];
    return;
}
//salt the password
NSString* saltedPassword = [NSString stringWithFormat:@"%@%@", fldPassword.text, kSalt];
//prepare the hashed storage
NSString* hashedPassword = nil;
unsigned char hashedPasswordData[CC_SHA1_DIGEST_LENGTH];
//hash the pass
NSData *data = [saltedPassword dataUsingEncoding: NSUTF8StringEncoding];
if (CC_SHA1([data bytes], [data length], hashedPasswordData)) {
    hashedPassword = [[NSString alloc] initWithBytes:hashedPasswordData length:sizeof(hashedPasswordData) encoding:NSASCIIStringEncoding];
} else {
    [UIAlertView error:@"Password can't be sent"];
    return;
}
//check whether it's a login or register
NSString* command = (sender.tag==1)?@"register":@"login";
NSMutableDictionary* params =[NSMutableDictionary dictionaryWithObjectsAndKeys:command, @"command", fldUsername.text, @"username", hashedPassword, @"password", nil];
//make the call to the web API
[[API sharedInstance] commandWithParams:params onCompletion:^(NSDictionary *json) {
    //result returned
    NSDictionary* res = [[json objectForKey:@"result"] objectAtIndex:0];
    if ([json objectForKey:@"error"]==nil && [[res objectForKey:@"IdUser"] intValue]>0) {
        [[API sharedInstance] setUser: res];
        [self.presentingViewController dismissViewControllerAnimated:YES completion:nil];
        //show message to the user
        [[[UIAlertView alloc] initWithTitle:@"Logged in" message:[NSString stringWithFormat:@"Welcome %@",[res objectForKey:@"username"]] delegate:nil cancelButtonTitle:@"Close" otherButtonTitles: nil] show];
    } else {
        //error
        [UIAlertView error:[json objectForKey:@"error"]];
    }
}];

}
EN

回答 1

Stack Overflow用户

发布于 2014-12-17 07:32:37

http://www.raywenderlich.com/81879/storyboards-tutorial-swift-part-1

请查看该教程。你似乎是边走边编的--这从来不是一个好的学习方法。

没有所谓的“私有”视图控制器,取而代之的是一个视图控制器,它在没有登录的情况下是不可见的。

您需要的流程是:

设置身份验证视图控制器(用户名、密码、登录按钮)

将登录按钮绑定到一个方法

将代码放入该方法以检查凭据的有效性

如果它们是有效的,则向新VC显示一个段

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27515387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档