Вы должны использовать строку литерал для формата в методе initWithFormat:
, а не строку, поэтому ваш вызов должен быть исправлен на:
zipCode = [[NSString alloc] initWithFormat:@"%@", zipText.text];
Но в вашем примере вы этого не сделаетенужен этот метод вообще, поскольку вы фактически не меняете строку, поэтому следующий «шаг исправления» может быть
zipCode = [zipText.text copy];
Но это также оставляет одну проблему нерешенной - ваше предыдущее значение zipCode не будет освобождено ибудет просто утечка. Если zipCode является переменной экземпляра в вашем классе, объявите свойство для него:
// Class interface
@property (nonatomic, copy) NSString *zipCode;
// Class implementation
@synthesize zipCode;
Таким образом, вы позволите компилятору автоматически синтезировать методы сеттера и геттера для вашей переменной, которая будетОтрегулируйте управление памятью для вас. Теперь, чтобы изменить значение iVar, вы можете использовать свойство:
self.zipCode = zipText.text;
PS и, наконец, не забудьте выпустить ваш zipCode в методе dealloc
, чтобы избежать утечек памяти