簡體   English   中英

Objective-C的if語句

[英]objective-c if statement

所以這可能真的很簡單,但是由於某些原因我無法弄清楚。 當我運行以下代碼時,即使我以xcode進入調試器控制台並執行po [resultObject valueForKey:@"type"] ,也無法將它放入if語句中,它返回0 我究竟做錯了什么? 謝謝你的幫助!

NSManagedObject *resultObject = [qResult objectAtIndex:i];

if (([resultObject valueForKey:@"type"])== 0) {
    //do something
}

valueForKey:的結果始終是一個對象-唯一等於0的對象為nil。 如果是數值,則為NSNumber。 無論如何,我想您想問一下[[resultObject valueForKey:@"type"] intValue]

您可以嘗試將NSManagedObject強制轉換為int(如果那實際上是...)

另外,您也不需要在[]周圍加上多余的括號

NSManagedObject *resultObject = [qResult objectAtIndex:i];

if ((int)[resultObject valueForKey:@"type"] == 0) {
    //do something
}

暫無
暫無

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

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