2012-05-16 74 views
-1

我正在解析一個場地元素,但是當其中一個場地未知時,它會返回「未知場地」的值。有些人知道其他人不是。我做了以下事情,以便獲取所有值,但是如果它找到「未知地點」字符串,請將其替換爲「待公佈」。解析NSString。如何使用if&else語句檢查特定的字符串?

這就是我想,但它不工作:

if (event.venue != @"Unknown venue") { 

    NSString *venue = event.venue; 
    cell.venueLabel.text = venue; 

    if (event.venue = @"Unknown venue") { 

     NSString *venue = @"To Be Announced"; 
     cell.venueLabel.text = venue; 
    } 

} 
+0

你在做什麼不是比較,而是第二種情況下的任務。 – Mahesh

+0

這段代碼有太多的錯誤... – Sulthan

+0

@Sulthan男人我已經徹夜清醒,做了很多不同的事情,我完全忘記了isEqualToString,並直接去了==或!== – Year3000

回答

2

注意th e使用常量。但是,nil將更適合「未知」而不是自定義文本。

#define VENUE_UNKNOWN @"Uknown venue" 
#define VENUE_ANNOUNCED @"To Be Announced" 

NSString *venue = event.venue; 

if ([venue isEqualToString:VENUE_UNKNOWN]) { 
    venue = VENUE_ANNOUNCED; 
} 

cell.venueLabel.text = venue;
+0

我喜歡那樣!肯定會改變它。我寧願將它設置爲「將被宣佈」而不是零的原因是爲了接口目的。讓用戶知道會場將在稍後公佈,而不是完全隱藏它。 「待宣佈」 – Year3000

+0

已清楚。問題在於「未知場所」,它並未設置爲任何用戶界面標籤。那裏不會有更好的嗎? – Sulthan

+0

該字符串永遠不會返回零,而是它返回「未知地點」,這就是爲什麼我從來沒有使用零,因爲它在技術上是不可能的(假設解析工作正常)。 – Year3000

3
if ([event.venue isEqualToString:@"Unknown venue"]) 
3

比較字符串應該使用

[event.venue isEqualToString:@"yourstring"]; 
1

使用下面的代碼與您的代碼來替換完成.. 。

if ([event.venue isEqualToString:@"Unknown venue"]) { 

     NSString *venue = @"To Be Announced"; 
     cell.venueLabel.text = venue; 
} 
else{ 
    NSString *venue = event.venue; 
    cell.venueLabel.text = venue; 
} 
+0

這不會編譯。 – Joe

+1

不,它確實工作。他只是忘記附上event.venue isEqualToString:@「未知的場地」在「[]」謝謝帕拉斯!你幫忙了! – Year3000

+0

是的,我只是把你的實體的代碼和名稱,所以做這個mistak傢伙... –

相關問題