Junior — Middle
Kako odrediti da li klasa implementira zadati protokol u programskom jeziku?
sobes.tech АИ
Одговор од АИ
В языке Swift для проверки, реализует ли класс заданный протокол, используется оператор is или as?. Например:
protocol MyProtocol {
func doSomething()
}
class MyClass: MyProtocol {
func doSomething() {
print("Doing something")
}
}
let obj = MyClass()
if obj is MyProtocol {
print("Объект реализует MyProtocol")
}
// Или с приведением типа
if let protoObj = obj as? MyProtocol {
protoObj.doSomething()
}
В Objective-C можно использовать метод conformsToProtocol::
if ([myObject conformsToProtocol:@protocol(MyProtocol)]) {
// Класс реализует протокол
}
Таким образом, для определения реализации протокола используется проверка типа с помощью встроенных операторов или методов.