SORU
3 HAZİRAN 2011, Cuma


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
3 HAZİRAN 2011, Cuma


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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BuzzFeedVideo

    BuzzFeedVide

    10 AĞUSTOS 2011
  • guau . .

    guau . .

    25 Ocak 2008
  • Major FX

    Major FX

    6 HAZİRAN 2012