Nasıl' uyarı seçici kurtulmak için 'bildirilmemiş olan
**Şimdi bu soru bir program falan olmalı, ama bulamıyorum. Yeniden yönlendirme takdir!**
NSObject örneği seçici kullanmak istiyorumolmadanuygulanan bir protokol. Örneğin, eğer üzerinde deniyor NSObject örneği destekliyorsa bir hata özelliği ayarlamak gerekir o kategoriye bir yöntem var. Bu kod, kod beklendiği gibi çalışır:
if ([self respondsToSelector:@selector(setError:)])
{
[self performSelector:@selector(setError:) withObject:[NSError errorWithDomain:@"SomeDomain" code:1 userInfo:nil]];
}
Ancak, derleyici herhangi bir yöntem etrafında WITH seterror ile görmez: imza, bana @selector(setError:)
parçacığını içeren bir uyarı, her bir hat için: verir
Undeclared selector 'setError:'
Bu özel bir şey uygulamak için kullanabilecek tüm sınıflar istemiyorum çünkü bu uyarı kurtulmak için bir protokol beyan etmek istemiyorum. Sadece kongre tarafından ya da özelliği setError:
bir yöntem vermek istiyorum.
Bu yapılabilir mi? Nasıl?
Şerefe
EP
CEVAP
NSSelectorFromString bir göz at.
SEL selector = NSSelectorFromString(@"setError:");
if ([self respondsToSelector:selector])
@selector
anahtar derleme zamanında zamanında yerine seçici oluşturmak için izin verir, ve derleyici şikayet için bir şans olacaktır.
Nasıl sahnelenecek olan değişiklikleri...
Nasıl tıklanabilir bir etiket olan bir...
nasıl android Uyarı İletişim kutusunu ...
Nasıl dize itiraz dönüşüm `’ GCC yanmı...
Nasıl bir JQuery Seçici gelen bir DOM ...