жарко ли я сделать сравнение целых чисел и значений текстового поля в Objective C - PullRequest
0 голосов
/ 22 января 2010

Я новичок в программировании на iphone, и я столкнулся / заметил некоторые проблемы во время кодирования. который был после того, как я напечатал заявление, как

if (label.text> label2.text) { сделай что-нибудь ...}

однако, после ввода мое приложение может быть скомпилировано и запущено, однако, когда я пытаюсь проверить его путем сравнения значений, мои указанные действия могут выполняться, и я могу изменить свое изображение представления изображения, однако условия не выполняются, но указанные действия можно запустить. Просвети меня спасибо! я опубликую свои коды внизу, прокомментируете ли вы какие-нибудь лучшие практики? еще раз спасибо.

Да, и как я могу указать, чтобы в моем ярлыке было указано, что значение по умолчанию не "Метка" или пусто, потому что я хотел бы, чтобы значения заполнялись числом до начала.

-(IBAction) beginMatch {

if (resultP1.text, resultP2.text = @"Label") {
    errorMsg.text = @"Please Press Roll (:";
}

else 

if (resultP1.text > resultP2.text) {
    MG = [MainGameController alloc];

    MG.player1 = playerName.text;

}
else {

    MG.player1 = playerNameP2.text;


}   

[self.view addSubview:MG.view];

}

это один пример того, что он не работает, у меня есть другой, который находится ниже.

-(IBAction) btn:(id) sender {

ptc = [playerTurnController alloc];
if (ptc.player1name = MGplayerName.text) {
    if (lblDiceResultP1.text > lblDiceResultP2.text) {
        img.image = [UIImage imageNamed:@"yellow.png"];
    }
    else if (ptc.player2name = MGplayerName.text) {
        img.image = [UIImage imageNamed:@"Blue.png"];
    }
}

}

Спасибо.

Ответы [ 2 ]

2 голосов
/ 22 января 2010

Ваш код содержит довольно много ошибок. Вы пытаетесь сравнить значения NSString с «>», неправильно используете оператор запятой и оператор =, и вы размещаете новые объекты в (как кажется) неправильных местах.

Вы действительно должны сначала изучить вводную документацию на веб-сайте Apple для разработчиков: Цель обучения C: Учебник для начинающих а также Ваше первое приложение для iPhone

1 голос
/ 22 января 2010

Здесь вы сравниваете строку (в алфавитном порядке) адреса:

lblDiceResultP1.text > lblDiceResultP2.text

Возможно, вы хотите извлечь NSNumbers из строк и сравнить числовые значения.

Это задание, а не сравнение:

ptc.player2name = MGplayerName.text

Вы, вероятно, хотели использовать ==, что также неправильно.

строки NSS сравниваются с isEqualToString например,

NSString * s1 = @"String One";
NSString * s2 = @"String Two";
if([s1 isEqualToString:s2])
     // do something when strings are equal
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...