簡體   English   中英

Xcode中Objective-C中的IF語句

[英]IF statement in Objective-C in Xcode

在Xcode中,我試圖創建一個按鈕來相對於當前文本更改其文本。 例如:如果按鈕說“ 1”並被按下,我希望文本更改為“ 2”,“ 2”更改為“ 3”,依此類推,這是給我帶來麻煩的代碼片段:

if (magicButton.titleLabel = @"1") {
    [magicButton setTitle:@"2" forState:UIControlStateNormal];
}

Xcode在代碼段的第一行給了我這個錯誤“分配給只讀屬性”。 對於Objective-C和iPhone App開發,我還很陌生,所以也許這很瘋狂,很簡單。 如果是這種情況,請不要介意。

如果有幫助,請粘貼我的實現文件

提前致謝。

“ =”用於分配,而“ ==”用於比較。 但是在字符串比較的情況下,應使用isEqualToString方法。 像這樣:

if ([magicButton.titleLabel.text isEqualToString: @"1"]) {    
  [magicButton setTitle:@"2" forState:UIControlStateNormal];
}

PS。 另請注意,您應該獲取UILabeltext屬性

如果要無限制地相對於按鈕文本進行更改,則不能輸入一百萬條if語句。 您應該獲取按鈕標題的值(如果它甚至有一個標題),並向其添加1,如下所示:

NSString *string = randomButton.titleLabel.text;

    if ([randomButton.titleLabel.text length] == 0) { //Check if there is not a title on the button

     [randomButton setTitle:@"1" forState:UIControlStateNormal]; //And if there isn't, set it to "1"

    }

    else {

        int yourInt = [string intValue]; //Convert to int

        int nextInt = yourInt + 1; //Add one to value

        NSString *finalString = [NSString stringWithFormat:@"%d",nextInt]; //Convert back to string

        [randomButton setTitle:finalString forState:UIControlStateNormal]; //Finally set it as the title

    }

暫無
暫無

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

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