Uygulanan bir protokole gerek olmadan bir NSObject örneği üzerinde bir seçici kullanmak istiyorum . Örneğin, çağrıldığı NSObject örneği bunu destekliyorsa, bir hata özelliği ayarlaması gereken bir kategori yöntemi vardır. Bu koddur ve kod istendiği gibi çalışır:
if ([self respondsToSelector:@selector(setError:)])
{
[self performSelector:@selector(setError:) withObject:[NSError errorWithDomain:@"SomeDomain" code:1 userInfo:nil]];
}
Ancak, derleyici setError: imza ile bir yöntem görmez, bu yüzden @selector(setError:)
snippet'i içeren her satır için bana bir uyarı verir :
Undeclared selector 'setError:'
Bu uyarıdan kurtulmak için bir protokol bildirmek istemiyorum, çünkü bunu kullanabilecek tüm sınıfların özel bir şey uygulamak istemiyorum. Sadece kongre yoluyla bir setError:
yöntem ya da mülk sahibi olmalarını istiyorum .
Bu yapılabilir mi? Nasıl?
Şerefe,
EP