2016-04-01 12 views
0

Tek bir sınıfta kendini kullanarak tek bir sınıf sınıfında örnek yöntemine erişiyorum hata gösteriyor, ancak kendimi kullanarak parametresiyle örnek yöntemine erişmeye çalışırsam, o zaman onun nedenini bilmek istiyorum. Buna erişemiyorum.Singleton sınıfında "self" kullanarak örnek yöntemine nasıl erişilir?

i öz ile "someMethodA" kullanmayı deneyin o zaman mükemmel çalışıyor, ancak erişmeleri halinde

-(void)someMethodA:(NSString *)paramA withParamB:(NSString *)paramB; 

-(void)someMethodB; 

gibi "someMethodB" kendini kullanarak bu hatayı

+(void)someMethod 

{ 

    [self someMethodA:@"string" withParamB:@"string"]; works fine 

    [self someMethodB]; gives error 

} 
+0

Hata nedir? – Gandalf

+0

"Seçici için bilinen bir sınıf yöntemi yok" Temel olarak, "+" ile başlayan yöntem "+" ile başlayan bir yöntem kullanıyorum –

+0

Örnek yöntemine başvurmak için bir sınıf yönteminde 'self'i kullanamazsınız -' self'nn Bu durumda bir örneğe başvurmayın. 'SomeMethodA'nın sınıf yöntemi olarak tanımlanmadığından da emin misiniz (+)? – Paulw11

cevap

0

Örnek yöntemleri (metotları verir '-' ile başlayarak) yalnızca diğer örnek yöntemlerle erişilebilir, sınıf yöntemleri ('+' ile başlayan yöntemler) [CLASS_NAME yöntemAdı]

kullanarak her yerden erişilebilir Eğer sınıf metodunuzdan someMethodB'ye erişmeniz gerekiyorsa, aşağıdaki gibi basitçe sınıf yöntemine güncelleyin:

+(void)someMethodB; 
İlgili konular