Существует NSKeyValueCoding
protocol, что многие из объектов в UIKit
соответствует.
Один из методов в пределах NSKeyValueCoding
- valueForKey:
(и многие другие соответствующие методы, проверьте документацию, которую я связал).
Позвонив по объекту valueForKey:
, мы можем во время выполнения получить свойства доступа, которые были установлены в построителе интерфейса.
Так, например, на этом лейбле, я мог бы сделать что-то вроде этого:
Objective-C:
NSString *style = [myLabel valueForKey:@"styleName"];
Swift:
let style = myLabel.valueForKey("styleName")
Теперь я может захватить значение, установленное через Interface Builder и во время выполнения, я могу что-то сделать с меткой, исходя из того, какое значение wa здесь. Например, здесь я мог бы использовать конкретное «имя стиля» для конкретного дизайна ярлыка.
Если вы ищете проект для valueForKey
или "styleName"
, вы, скорее всего, найдете, где это свойство используется и что с ним делается.
Чтобы следить за мой вопрос относительно атрибута инспектора, так как из Xcode 6, мы можем использовать свойство @IBInspectable
создать свойства, которые будут отображаться в инспекторе Attributes (as seen here). Рассмотрим UIView
расширение:
extension UIView {
@IBInspectable var borderColor : UIColor? {
set (newValue) {
self.layer.borderColor = (newValue ?? UIColor.clearColor()).CGColor
}
get {
return UIColor(CGColor: self.layer.borderColor)
}
}
}
Теперь, если мы посмотрим на инспектора атрибутов для любого UIView
(или подкласса) в нашей раскадровке, мы увидим:

мы теперь имеют свойство «Цвет границы», доступное через Инспектор атрибутов, который обычно отсутствует.Причина я показываю этот инструмент, потому, что всякий раз, когда вы установите один из этих свойств с помощью инспектора атрибутов, то значение будет на самом деле хранится в виде одного из этих «User Defined Время воспроизведения Атрибуты»:

И всякий раз, когда это представление загружается из XIB в моем приложении, одна из первых вещей, которые произойдут, заключается в том, что мое свойство borderColor
будет установлено на этот красный цвет, который я выбрал в Interface Builder.
Если нажать на кнопку "Проверить Attitributes" (сразу справа от "Удостоверение инспектора"), есть поле "StyleName"? – nhgrif
Хорошо. Я пишу ответ. – nhgrif