2010-07-15 46 views
0

我必須在iPhone應用程序中實現一個小功能,並且想知道是否有辦法使用如果聲明條件是一個按鈕的字符串。在Objective-C(Cocoa/iPhone SDK)中使用帶有按鈕名稱的If語句

下面的代碼樣本中的問題:

- (IBAction)someMethod:(id)sender{ 
UIButton *button = (UIButton *)sender; 
if (button.titleLabel.text == 「SomeText」) 
{ 
    //do something 
} 
else 
{ 
    // some other thing 
} 

現在我不能讓它工作,因爲我覺得我用button.titleLabel.text錯誤的代碼。我甚至嘗試過@「SomeText」),但我總是以//其他方式結束。

我在做什麼錯?

謝謝。

回答

1

你現在正在做的是比較兩個指針對象,對象button.titleLabel.text@"SomeText"。由於兩者都指向內存中的不同位置,所以比較將返回NO

如果要比較兩個NSString對象的,但是可以使用[button.titleLabel.text isEqualToString:@"SomeText"]

另請注意"SomeText"@"SomeText"不一樣!第一個是C字符串,最後一個是Cocoa NSString對象。

+0

感謝Douwe,這裏的C#太多了;)我的C/C++知識被埋在.NET/Java多年的層面。 – 2010-07-15 10:41:23

+0

不是問題;) – 2010-07-15 10:44:32