Ответ
Нет, в расширениях (extensions) нельзя определять хранимые свойства (stored properties), только вычисляемые (computed properties). Это ограничение связано с тем, что расширения не могут изменять структуру типа, а хранимые свойства требуют выделения памяти.
Пример:
extension UIView {
// Вычисляемое свойство - допустимо
var screenWidth: CGFloat {
return UIScreen.main.bounds.width
}
// Ошибка: Хранимые свойства не поддерживаются
// var tagString: String = ""
}
Однако можно использовать ассоциированные объекты (associated objects) через Objective-C runtime для имитации хранимых свойств в расширениях.