iOS First Launch show条款和条件

时间:2014-05-02 22:19:38

标签: ios objective-c uiviewcontroller

我需要以下代码的帮助。我的目的是展示UIViewController“条款”(已存在于我的故事板中,并且我在故事板ID中签署了名称条款)。如果应用程序已经打开并且用户接受了T& C,则显示正常的UIViewController。

FIRSTVIEWCONTROLLER.H

#import <UIKit/UIKit.h>

@interface FirstViewController : UIViewController

@end

@interface First : UIViewController

@end

@interface Terms: UIViewController

@end

FIRSTVIEWCONTROLLER.M

#import "FirstViewController.h"

@interface FirstViewController ()

@end

@implementation FirstViewController

- (void)viewDidLoad: (BOOL)animated
{
    [super viewDidLoad];



    NSUserDefaults * standardUserDefaults = [NSUserDefaults standardUserDefaults];

    BOOL isAccepted = [standardUserDefaults boolForKey:@"iHaveAcceptedTheTerms"];

    if (!isAccepted) {
        [self presentViewController:Terms animated:YES completion:nil];
    } else {
        [self.navigationController pushViewController:First animated:YES];
    }

}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

实际上,我收到2个错误:“意外的接口名称'条款'/'第一个':预期的表达”。

请查看故事板:http://i.stack.imgur.com/bi6aT.png

请帮帮我。 xcode初学者。

1 个答案:

答案 0 :(得分:0)

首先,从.h中删除这些行,因为它们是不必要的:

@interface First : UIViewController

@end

@interface Terms: UIViewController

@end

其次,你的故事板看起来不太正确......从FirstViewController开始,你需要在视图和两个潜在的后续视图控制器之间创建segues,即“First”和“Terms”,使用我在这里指定的方法:https://stackoverflow.com/a/20690072/2274694;然后用标识符标记这些segues。

这样,如果你想根据条件是否已被接受而转向相关的视图控制器,你可以使用相关的标识符执行segue,例如:

if (!isAccepted) {
    [self performSegueWithIdentifier:@"firstSegue" sender:self];
} else {
    [self performSegueWithIdentifier:@"termsSegue" sender:self];
}