Junior — Middle
Kas klassis on võimalik teha staatiline meetodite jaotamine?
sobes.tech AI
Vastus AI-lt
iOS-s (Objective-C ja Swift) on võimalik staatiline meetodite suunamine nendele meetoditele, mis on määratletud kui staatilised (Objective-C klassimeetodid või Swiftis static/ class func). Need meetodid kutsutakse otse klassi nime järgi ja lahendatakse kompileerimise ajal.
Erinevalt dünaamilisest suunamisest (mida kasutatakse näidismetoodide jaoks ja mis võimaldab valiku teostada jooksvalt), on staatiline suunamine kiirem, kuid vähem paindlik.
Näide Swiftis:
class MyClass {
static func staticMethod() {
print("Staatiline meetod")
}
func instanceMethod() {
print("Näidismetood")
}
}
MyClass.staticMethod() // kutsutakse välja staatiline meetod
let obj = MyClass()
obj.instanceMethod() // kutsutakse välja näidismetood
Seega on iOS klassides võimalik kasutada staatilist suunamist staatilistele meetoditele.