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;
}