Как я должен передать интервал в stringWithFormat?

// put this block in your loop
try
{
   // do your insert
}
catch(SqlException ex)
{
   // the exception alone won't tell you why it failed...
   if(ex.Number == 2627) // <-- but this will
   {
      //Violation of primary key. Handle Exception
   }
}

EDIT:

Вы также можете просто проверить компонент сообщения исключения. Что-то вроде этого:

if (ex.Message.Contains("UniqueConstraint")) // do stuff
66
задан Jason Coco 21 December 2008 в 06:14
поделиться

6 ответов

Сделайте это:

label.text = [NSString stringWithFormat:@"%d", count];
126
ответ дан BobbyShaftoe 7 November 2019 в 10:53
поделиться

Marc Charbonneau записал:

Имеют в виду, что "%d" будет только работать над 32 битами. Как только Вы начинаете использовать NSInteger для совместимости, если Вы когда-нибудь компилируете для платформы на 64 бита, необходимо использовать "%ld" в качестве спецификатора формата.

Интересный, спасибо за подсказку, я использовал "%d" с моим NSInteger с!

документация SDK также рекомендует бросить NSInteger к long в этом случае (для соответствия "%ld"), например:

NSInteger i = 42;
label.text = [NSString stringWithFormat:@"%ld", (long)i];

Источник: Строковое Руководство по программированию для Какао - Спецификаторы Формата строки (Требует регистрации разработчика iPhone)

40
ответ дан squelart 7 November 2019 в 10:53
поделиться

Следует иметь в виду, что "%d" будет только работать над 32 битами. Как только Вы начинаете использовать NSInteger для совместимости, если Вы когда-нибудь компилируете для платформы на 64 бита, необходимо использовать "%ld" в качестве спецификатора формата.

47
ответ дан Marc Charbonneau 7 November 2019 в 10:53
поделиться

Вы хотите использовать %d или %i для целых чисел. %@ используется для объектов.

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

label.intValue = count;
24
ответ дан Zach Langley 7 November 2019 в 10:53
поделиться

И для комичного значения:

label.text = [NSString stringWithFormat:@"%@", [NSNumber numberWithInt:count]];

(Хотя могло быть полезно, если однажды Вы имеете дело с NSNumber's)

13
ответ дан squelart 7 November 2019 в 10:53
поделиться

Отрывок, Вы отправили просто образец для показа то, что Вы пытаетесь сделать?

причина, которую я спрашиваю, состоит в том, что Вы назвали метод increment, но Вы, кажется, используете это, чтобы установить значение текстовой метки, вместо того, чтобы увеличить значение.

, При попытке сделать, что-то более сложное - такое как устанавливание целочисленного значения и наличие маркировки отображает это значение, Вы могли рассмотреть использование привязки. например,

Вы объявляете свойство count и Ваш increment, действие устанавливает это значение к тому, что, и затем в IB, Вы связываете текст маркировки со значением count. Пока Вы следуете за Кодированием значения ключа (KVC) с count, Вы не должны писать код для обновления дисплея маркировки. И с точки зрения дизайна у Вас есть более свободная связь.

1
ответ дан Abizern 7 November 2019 в 10:53
поделиться