Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Swift: Как определить в классе-родителе, какой дочерний класс его вызвал - Swift

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Swift Text Field огранисения http://www.cyberforum.ru/swift/thread1785342.html
У меня есть два поля в которые я хочу вводить значения но я бы хотел ограничить значения, типа защита от дурака. в первое поле я могу вводить только цифры от 70 до 3200 а во второе я могу вводить...
Swift Обучение Swift/Objective-C с нуля Добрый день. На вашем форуме первый раз, хотелось бы перейти сразу к делу: Огромное желание научиться кодить на Swift и Objective-C, но не знаю с чего начать! Имею только поверхностные знания (в... http://www.cyberforum.ru/swift/thread1782253.html
Swift PaseJSON - Swift - Выдает ошибку Error Domain=NSCocoaErrorDomain Code=3840
Пробую запостить сообщение с изображением в MySQL пых прилагается, помогите люди добрые ! import UIKit class PostVC: UIViewController, UITextViewDelegate, UIImagePickerControllerDelegate,...
CollectionView & Segue Swift
Помогите плиз, голову уже сломал, весь нет перерыл - не могу понять что да как. Нужно передать по segue индекс выбранной ячейки var index = "" var out = "" ... func...
Swift Голосовой динамик http://www.cyberforum.ru/swift/thread1777402.html
День добрый! Пишу VOIP приложение и уже неделю пытаюсь побороть проблему: при активации записи вывод звука переключается с голосового динамика на колонки (т.е. основной динамик). При подключении...
Swift Xib + storyboard Приветствую. Ситуация следующая - использую storyboard для навигации(контроллеры внутри без вью, разумеется), экраны верстаются отдельно в xib-ах. Все бы хорошо, вот только на 8.1/8.2 симуляторе... подробнее

Показать сообщение отдельно
Vorona
Peace 2 all shining faces
669 / 531 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
29.07.2016, 10:32
так как-то?
в дочерних переопределяете метод, а в родительском записана основная логика работы алгоритма, т.е. дочерние только конфигурируют родителя.
Child3 не переопределил метод, потому у него будет такая же логика, как по-умолчанию у родителя

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
class Parent {
    func shouldBeTrue() -> Bool {
        return false
    }
 
    func doSomething() -> Int {
        let someTrickyLogic = 42
        if shouldBeTrue() {
            return someTrickyLogic + 1
        }
        return someTrickyLogic - 1
    }
}
 
class Child1: Parent {
    override func shouldBeTrue() -> Bool {
        return true
    }
}
 
class Child2: Parent {
    override func shouldBeTrue() -> Bool {
        return true
    }
}
 
class Child3: Parent {
    // shouldBeTrue will return false as its Parent
}
 
let c1 = Child1()
c1.doSomething() // 43
 
let c2 = Child2()
c2.doSomething() // 43
 
let c3 = Child3()
c3.doSomething() // 41
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru