Есть ли способ указать компилятору, что объект класса соответствует протоколу?
Как я понимаю, создавая методы класса +(void)foo
, экземпляр этого объекта класса будет иметь эти методы как методы экземпляра. Поэтому, пока я создаю методы +(void)foo
для всех необходимых методов протокола, я могу иметь объект класса как делегат.
Моя проблема, конечно, в том, что в заголовочном файле класса я знаю, как указывать, что экземпляры класса соответствуют протоколу (как это обычно бывает). Итак, лучшее, что я понял, - это бросить объект класса следующим образом:
something.delegate = (id<SomethingDelegate>)[self class]
Любые идеи?
Связанные, но разные: ObjC: есть ли такая вещь, как "протокол класса" ??