Junior — Middle
Kādus objektu inicializācijas metodes jūs zināt un izmantojat klasēs?
sobes.tech AI
Atbilde no AI
iOS (Swift/Objective-C) klases izmanto dažādus metodes objektu inicializēšanai:
-
Inicializatori (initializers) — īpaši metodes, kas nosaka objekta sākotnējo stāvokli. Swift valodā tas ir
init(), Objective-C —-initmetodes. -
Parametrizētie inicializatori — ļauj iestatīt sākotnējās vērtības, izveidojot objektu.
-
Delegējošie konstruktoru — viens inicializators izsauc citu, lai izvairītos no koda dublēšanas.
-
Noklusējuma īpašību izmantošana — klases īpašības var būt ar noklusējuma vērtībām, kas tiek iestatītas objekta izveides laikā.
Piemērs 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, parasti, inicializācija notiek ar -init metodi vai pielāgotiem inicializētājiem, piemēram:
- (instancetype)initWithName:(NSString *)name age:(NSInteger)age {
self = [super init];
if (self) {
_name = name;
_age = age;
}
return self;
}