Junior — Middle
Jakie metody inicjalizacji obiektów znasz i używasz w klasach?
sobes.tech AI
Odpowiedź od AI
W iOS (Swift/Objective-C) używa się różnych metod do inicjalizacji obiektów w klasach:
-
Inicjalizatory (initializers) — specjalne metody, które ustalają stan początkowy obiektu. W Swift to
init(), w Objective-C to metody-init. -
Inicjalizatory z parametrami — pozwalają na ustawienie wartości początkowych podczas tworzenia obiektu.
-
Konstruktory z delegacją — jeden inicjalizator wywołuje inny, aby uniknąć duplikacji kodu.
-
Inicjalizacja przez właściwości domyślne — właściwości klasy mogą mieć wartości domyślne, które są ustawiane podczas tworzenia obiektu.
Przykład w 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: "Мария")
W Objective-C inicjalizacja zwykle odbywa się przez metodę -init lub niestandardowe inicjalizatory, na przykład:
- (instancetype)initWithName:(NSString *)name age:(NSInteger)age {
self = [super init];
if (self) {
_name = name;
_age = age;
}
return self;
}