2015-08-30 42 views
0

您好,我正在從數組中檢索一個NSNumber值(例如4.3的評級),然後需要測試該值然後分配星級評分圖像。Objective C在if語句中的NSNumbers

然而,當我寫的if語句,我得到錯誤「預期的表達」

下面是代碼:

if (rating >=1 && <2) { 
     return [UIImage imageNamed:@"1starimage"]; 
    }else if (rating >=2 && <3){ 
     return [UIImage imageNamed:@"2starimage"]; 
    } 

感謝我如何能做到這一點,而不會導致錯誤的任何解釋。第二比較

+2

'rating.floatValue> = 1 && rating.floatValue <2'如果'rating'是'NSNumber'。否則,您需要每次爲每個測試(對於> =和<2)都放置var,但沒有說這是與測試相同的var。 – Larme

回答

0

if語句多個測試值,你必須爲每個比較完整的表達。所以你的情況

,你必須做如下:

if ([rating floatValue] >= 1 && [rating floatValue] < 2) { 
    return [UIImage imageNamed:@"1starimage"]; 
} else if ([rating floatValue] >= 2 && [rating floatValue] < 3){ 
    return [UIImage imageNamed:@"2starimage"]; 
} 
+0

Thankyou都解決了我的問題,我學到了很多:-) – Kitcc

0

左側是缺少 應該if (rating.floatValue >=1 && rating.floatValue<2)