Xcode上的错误消息,我不明白

时间:2016-01-20 03:35:17

标签: objective-c xcode

我在Xcode上收到错误消息 - Objective C。

指向接口“UILabel”的指针算法,该接口不是此体系结构和平台的常量。

    if([self checkforwin]){
        NSString*winner = nil;

        if (playertoken==1)

         winner =@"Player 2 Wins";

        _result1 = _result1+1

        else if (playertoken==2)

            _result2 = _result2 +1

            winner =@"Player 1 Wins";
        UIAlertView *alert = [[UIAlertView alloc]
                              initWithTitle:@"Result"
                              message: winner
                              delegate:nil
                              cancelButtonTitle:@"Ok"
                              otherButtonTitles: nil];
        [self resetboard];
        [_audioPlayer play];
        [alert show];

任何想法如何摆脱它们?

错误显示在result1和result2上。试图为我的游戏添加分数。

2 个答案:

答案 0 :(得分:1)

使用条件时使用括号。也不要将字符串设置为nil,使用空字符串@""

设置它
if([self checkforwin]){

    NSString *winner = @"";

    if (playertoken==1) {

        winner =@"Player 2 Wins";
        _result1 = _result1 + 1;
    }
    else if (playertoken==2) {

        winner =@"Player 1 Wins";
        _result2 = _result2 + 1;
    }

    UIAlertView *alert = [[UIAlertView alloc]
                          initWithTitle:@"Result"
                          message: winner
                          delegate:nil
                          cancelButtonTitle:@"Ok"
                          otherButtonTitles: nil];
    [self resetboard];
    [_audioPlayer play];
    [alert show];
}

答案 1 :(得分:0)

您正尝试向UILabel添加1。您需要一个整数变量来执行增量。将_result 1和2声明为int类型变量或声明一个int变量并递增它,并将其传递给UILabel .text属性

    _result1 = _result1+1 

这里_result1必须是整数变量。

你需要这样的东西: 将result1声明为int,

 @property(assign)  int result1;

这条线应该没问题

      _result1=_result1+1;