簡體   English   中英

指針轉換“ int”到參數類型“ id”的整數不兼容

[英]incompatible integer to pointer conversion “int” to parameter type of “id”

 - (void) changeState
  {

    if ([_buttonChangeState.title isEqual: @"Active"])
    {
        PFUser *user = [PFUser currentUser];
        user[@"active"] = FALSE;
        user[@"party"] = @"";
        [user saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error)
        {
            if (error)
            {
                _statusFailed = [[UIAlertView alloc]initWithTitle:@"" message:@"Status Change       Error, Try Again" delegate:self cancelButtonTitle:@"Retry" otherButtonTitles:@"Close", nil];
                _statusFailed.cancelButtonIndex = 0;
                [self.view addSubview:_statusFailed];
            }
            else
            {
                [_buttonChangeState setTitle:@"Taking A Break"];
            }
        }];
    }
    if ([_buttonChangeState.title isEqual:@"Taking A Break"])
    {
       PFUser *user = [PFUser currentUser];
       user[@"active"] = TRUE;
       [user saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) 
        {
           if(error)
            {
                [self.view addSubview:_statusFailed];
            }
        }];
    }
}

我試圖為Parse用戶對象的“ active”關鍵字段分配一個bool值,但是由於某些原因,當嘗試將user [@“ active”]設置為TRUE布爾值時,我收到了錯誤“指針轉換不兼容的整數”參數類型為“ id”的“ int”。 僅當將其設置為TRUE時,才會發生這種情況,而將其設置為FALSE則不會出錯。 另外,將其設置為0很好,但是有1個錯誤。 我不知道為什么我要分配哪個布爾值很重要。 任何想法將不勝感激。 謝謝

您不能將BOOL添加到(有效的字典)對象中。 用戶對象期望接收另一個對象,因此您的BOOL應該包裝在NSNumber實例中:

user[@"active"] = @YES; // NSNumber literal syntax

要么

user[@"active"] = [NSNumber numberWithBOOL:YES];

這適用於YES(真)和NO(假)情況。


另外,您不應該將_statusFailed添加為子視圖。 調用其show方法以顯示警報視圖。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM