Storyboards

时间:2021-03-08 15:15:16

这里是吐槽时间,换掉了mac默认的输入法,出发点只有一个,就是切换中英文输入的时候相当不爽。也许是习惯了其他各大输入法的一键切换,而又没有找到自带输入法可设置的地方。

Segue

以前我们使用navigation controller 去push view controller, storyboards 里面相应的概念就是segue.还有一种切换的方式是modal view controller 从地下临时的弹出。类似于Jquery ui 中的模态对话框。prepareForSegue:sender:是一个重要的方法,你可以在这里传递数据到下一个view.

在一个StoryBoards上放两个ViewController

通过Ctrl 和拉伸或者右键拉伸的方式,连接两个view controller.

identifier

我们给这个segue 一个唯一识别名: pushLogin. 为什么我们需要这个识别名,因为我们打算在跳转之前作一些validation,比如说确认下客户的输入是否正确,否则我们不允许用户跳转到下一步。shouldPerformSegueWithIdentifi er:sender: method of UIViewController 就是我们执行validation 的方法。

因此我们上面的发送账户验证请求,不再需要绑定在按钮按下的事件中。

Synchronous http request

上面我们使用的是异步http request的方式,其实我们想要同步的分析请求结果,再确定是否跳转,因此这里需要阻塞。

NSURLResponse response = nil;
NSError error = nil;
NSData *data = [NSURLConnection sendSynchronousRequest:urlRequest
returningResponse:&response
error:&error];

当然,验证不通过,我们需要一个alert

- (void) showAccountIsNotValid{    UIAlertView *alert = [[UIAlertView alloc]                          initWithTitle:nil                          message:@"该用户不存在!"                          delegate:nil                          cancelButtonTitle:nil                          otherButtonTitles:@"OK", nil];    [alert show];}