Junior
Бо кадом намудҳои додаҳо метавон дар Swift истинодҳоро истифода бурд?
sobes.tech AI
Ҷавоб аз AI
Дар Swift, ишораҳо (ба суроғаҳо) дар ҳолатҳои зерин истифода мешаванд:
- Классҳо (Classes): Нусхаҳои классҳо навъҳои ишора мебошанд. Вақте ки нусхаи класс ба тағйирёбанда ё константа таъин карда мешавад, ишора ба объект нусхабардорӣ мешавад, на худи объект.
- Қатраҳо (Closures): Гирифтани тағйирёбандаҳо дар қатраҳо бо ишора сурат мегирад.
- Актёрҳо (Actors): Нусхаҳои актёрҳо низ навъҳои ишора мебошанд.
- Баъзе навъҳои системавӣ: Масалан,
AnyObject,NSObjectва навъҳои маҷмӯи Core Foundation (масалан,CFString). - Параметрҳои воридотӣ/баромадӣ (
inout): Имкон медиҳанд, ки тағйирёбандаҳоро ба функсия бо ишора гузаронанд, то ки функсия метавонад арзиши онҳоро тағйир диҳад.
// Мисол бо класс
class MyClass {
var value = 10
}
let instance1 = MyClass()
let instance2 = instance1 // instance2 ба ҳамон объект ишора мекунад
instance2.value = 20
print(instance1.value) // 20 мебарорад
// Мисол бо inout
func modifyValue(value: inout Int) {
value = value * 2
}
var myInt = 5
modifyValue(value: &myInt)
print(myInt) // 10 мебарорад
Сохторҳо, enumerationҳо ва tupleҳо навъҳои арзишӣ мебошанд, ва дар вақти таъин ё гузаронидан, мазмунашон нусхабардорӣ мешавад, на ишора.