iOS编程(第4版)第一章的Quiz没有报错但是打开什么都没有?

wuweiye1995 发布于 2016/09/12 11:54
阅读 154
收藏 0

就是照着书上的编,我用的是xcode7,书上的是xcode5,我是在网上下载了一个7可以用得空模板,也没有报错,就是可以运行,但是打开就是白色一片,没有显示我的东西。第一章的程序就叫Quiz

BNRQuizViewController.m

#import "BNRQuizViewController.h"

@interface BNRQuizViewController ()

@property (nonatomic) int currentQuestionIndex;

@property (nonatomic, copy) NSArray *questions;
@property (nonatomic, copy) NSArray *answers;

@property (nonatomic, weak) IBOutlet UILabel *questionLabel;
@property (nonatomic, weak) IBOutlet UILabel *answerLabel;

@end

@implementation BNRQuizViewController

- (instancetype)initWithNibName:(NSString *)nibNameOrNil
                         bundle:(NSBundle *)nibBundleOrNil
{
    //调用父类实现的初始方法
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    
    if (self) {
        //创建两个数组对象,储存所需的问题和答案
        //同时,将question和answer分别指向问题数组和答案数组
        
        self.questions = @[@"From what is cognac made?",
                           @"What is 7+7?",
                           @"What is the capital of Vermont?"];
        
        self.answers = @[@"Grapes",
                         @"14",
                         @"Montpelier"];
    }
    //返回新对象的地址
    return self;
}
- (IBAction)showQuestion:(id)sender
{
    //进入下一个问题
    self.currentQuestionIndex++;
    
    //是否已经回答完了所有问题?
    if (self.currentQuestionIndex == [self.questions count]) {
        
        //回到第一个问题
        self.currentQuestionIndex = 0;
    }
    
    //根据正在回答的问题序号从数组中取出问题字符串
    NSString *question = self.questions[self.currentQuestionIndex];
    
    //将问题字符串显示在标签上
    self.questionLabel.text = question;
    
    //重置答案字符串
    self.answerLabel.text = @"???";
}

- (IBAction)showAnswer:(id)sender
{
    //当前问题的答案是什么
    NSString *answer = self.answers[self.currentQuestionIndex];
    
    //在答案标签上显示相应的答案
    self.answerLabel.text = answer;
}

@end



BNRAppDelegate.m

#import "BNRAppDelegate.h"
#import "BNRQuizViewController.h"

@interface AppDelegate ()

@end

@implementation AppDelegate


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    //在这里添加应用启动后的初始化代码
    // Override point for customization after application launch.
    
    BNRQuizViewController *quizVC = [[BNRQuizViewController alloc] init];
    self.window.rootViewController = quizVC;
    
    self.window.backgroundColor = [UIColor whiteColor];
    self.window.rootViewController = [[UIViewController alloc]init];
    [self.window makeKeyAndVisible];
    return YES;
}

- (void)applicationWillResignActive:(UIApplication *)application {
    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
}

- (void)applicationDidEnterBackground:(UIApplication *)application {
    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}

- (void)applicationWillEnterForeground:(UIApplication *)application {
    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
}

- (void)applicationDidBecomeActive:(UIApplication *)application {
    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
}

- (void)applicationWillTerminate:(UIApplication *)application {
    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}

@end



书上只是让我们在xib上面操作了原件,没有在storyboard上面放原件,我尝试过在storyboard上面放原件可以显示,但是不会与代码连接,本人第一次接触xcode

加载中
返回顶部
顶部