xcode NSString IBOutlet для объекта NSString в конструкторе? - PullRequest
3 голосов
/ 30 марта 2012

У меня расширенный класс UIView, у которого есть дополнительное свойство NSString. Для удобства я бы хотел как-то установить это свойство в конструкторе, если это возможно.

@property (nonatomic,retain) IBOutlet NSString* designerAccessibleString;

Свойство будет отображаться как Outlet, как и ожидалось. Я подключаю его к объекту NSString, который был добавлен из библиотеки объектов (добавлен как обычный объект, класс изменен на NSString). Но я не могу редактировать строку через инспектор атрибутов конструктора ... есть ли способ?

Я знаю, что можно использовать UILabel, но это излишне, и мне не нужно это удобство так сильно.

Спасибо.

Ответы [ 2 ]

1 голос
/ 13 января 2014

Это можно сделать с помощью раздела «Определенные пользователем атрибуты времени выполнения» инспектора идентификации:

User Defined Runtime Attributes in XCode 5

В этом примере свойство initialRelativeUrl устанавливается при загрузке контроллера представления.

0 голосов
/ 30 марта 2012

Боюсь, что вы никак не можете изменить свой NSString из IB.

Если вам нужно, чтобы строка имела начальное значение, рассмотрите способ переопределения

-(id)initWithCoder:(NSCoder*)coder

вашего контроллера и вручную установите NSString.Например

-(id)initWithCoder:(NSCoder*)coder {

    self = [super initWithCoder:coder];
    if (self) {
        designerAccessibleString = @"somestring";
    }

    return self;
 }
...