Junior — Middle
Кои методи за инициализация на обекти познавате и използвате в класовете?
sobes.tech AI
Отговор от AI
В iOS (Swift/Objective-C) се използват различни методи за инициализация на обекти в класовете:
-
Инициализатори (initializers) — специални методи, които задават началното състояние на обекта. В Swift това е
init(), а в Objective-C — методите-init. -
Инициализатори с параметри — позволяват задаване на начални стойности при създаването на обекта.
-
Делегиращи конструктори — един инициализатор извиква друг, за да избегне дублиране на кода.
-
Инициализация чрез свойства по подразбиране — свойствата на класа могат да имат стойности по подразбиране, които се задават при създаването на обекта.
Пример на Swift:
class Person {
var name: String
var age: Int
init(name: String, age: Int) {
self.name = name
self.age = age
}
convenience init(name: String) {
self.init(name: name, age: 0)
}
}
let p1 = Person(name: "Иван", age: 30)
let p2 = Person(name: "Мария")
В Objective-C инициализацията обикновено става чрез метода -init или персонализирани инициализатори, например:
- (instancetype)initWithName:(NSString *)name age:(NSInteger)age {
self = [super init];
if (self) {
_name = name;
_age = age;
}
return self;
}