虽然循环不起作用

时间:2011-12-29 02:57:36

标签: iphone loops

所以我在viewController的viewDidLoad方法中放了一个while循环,但是当我加载视图控制器时它不起作用并给我一个SIGTERM。这是while循环的代码。

- (void)viewDidLoad
{
while (appDelegate.gobletCheckInt == 0 || appDelegate.gobletCheckInt == 1) {
    if (CGRectIntersectsRect(mainSprite.frame, getGobletImg.frame)) {
        haveGobletImg.image = [UIImage imageNamed:@"Gold Goblet.png"];
    }
}

appDelegate = [[UIApplication sharedApplication]delegate];
getGobletImg.image = [UIImage imageNamed:@"Gold Goblet.png"];

}

最后两行并不重要。那么我不应该把它放在viewDidLoad中吗?

2 个答案:

答案 0 :(得分:1)

尝试使用appDelegate对象后,将填写该对象。看起来你需要将appDelegate的赋值移到while循环之上。

答案 1 :(得分:0)

可能会被运行时杀死,因为它有无限循环?你在哪里设置gobletCheckInt到0或1以外的东西?也许你应该:

NSLog(@"%d", appDelegate.gobletCheckInt);

在你的while循环中。

现在我必须做必须的tsk-tsk,这是非常糟糕的架构。 :)您不应该从视图控制器检查应用程序委托的属性。应用程序委托严格用于接收来自UIApplication的消息,例如应用程序启动或终止时。它不应该用于保存属性中的状态。