2015-08-14 63 views
1

看起來很簡單,但無法弄清楚。如何在If語句的條件下使用NSString的值

我使用多個評估標準構建NSString。然後我想稍後在if聲明中使用NSString作爲條件。我如何使用NSString並進行評估?

目前,如果我在if語句中使用NSString,它是TRUE如果字符串存在,而不是TRUE如果在NSString的條件得到滿足。

我將根據一組標準更改地圖註記的圖像。 NSString包含條件(構建在代碼的其他部分)。我希望能夠構建標準,然後在viewForAnnotations方法中執行標準。

感謝您的任何幫助。 annotString的

if (annotString) { 
    haloImage = [UIImage imageNamed:[NSString stringWithFormat:@"%@Full.png", [colorArray objectAtIndex:compareCounter]]]; 
    compareHaloCounter++; 
} 

值:(annot.aState == 44) && (annot.aCounty == 20)

+3

請貼你寫 – rounak

+0

if語句你想擁有一個像這樣的字符串:'「(obj.var == 2)&&(OBJ2 .var2 == 3)「'然後把它放在要評估的if語句中?我不認爲這是可能的。 – dmarsi

+0

感謝所有---看起來你是對的 - 無法完成。 –

回答

2

您可以使用NSPredicate做到這一點。

@interface MyObject : NSObject 

@property (nonatomic) NSUInteger propertyOne; 
@property (nonatomic) NSUInteger propertyTwo; 

@end 

@implementation MyObject 


@end 

在一些實現代碼

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"propertyOne == 4 && propertyTwo == 5"]; 
MyObject *testObject = [[MyObject alloc] init]; 
testObject.propertyOne = 4; 
testObject.propertyTwo = 5; 

if ([predicate evaluateWithObject:testObject]) { 
    NSLog(@"predicate passed"); 
} 
+0

作品像一個魅力!非常感謝! –

1
if(str isEqualToString:@"string") { 
} 
+0

謝謝,但我真的想評估字符串。我已經在我的問題上增加了一些內容,希望能夠明確我的意圖。 –

+0

可能嗎?我不認爲它是可能的,因爲你正在考慮在編譯時使用運行時值。如果真的有可能,我會找你的 –