Próbuję zadeklarować prywatne @interface
dla kategorii w pliku .m.Czy można zadeklarować drugi @ interfejs dla kategorii?
Dla normalnego klasy zrobiłbym:
@interface ClassA()
@end
@implementation ClassA
@end
i będzie działać sprawnie.
Dla klasy z kategorii Próbowałem:
@interface ClassA (CategoryA)()
@end
@implementation ClassA (CategoryA)
@end
ale daje wszelkiego rodzaju różnych błędów. Próbuję "rozszerzyć" kategorię, sposób, w jaki klasa jest rozszerzana za pomocą tej składni @interface ClassA()
.
chcę mieć metod prywatnych do kategorii i chciałem wiedzieć, czy oprócz odsłoniętego interfejsu wolno mi umieścić drugą kategorię @interface
w pliku .m, który nie narażać zmienne i metody instancji poza samą klasą.
coś takiego:
ClassA + categoryA.h
@interface ClassA (CategoryA)
<some public methods>
@end
ClassA + categoryA.m złożyć
@interface ClassA (CategoryA)
<some private methods>
@end
@implementation ClassA (CategoryA)
<here I want to be able to call the private methods above>
@end
Teraz to daje mi ostrzeżenie w Xcode:
Powielona definicja kategorii "Cate goryA 'on interface' ClassA '
Czy istnieje sposób na uzyskanie tego zachowania?
Co jest powodem -1? Czy popełniłem jakiś błąd? –
Kinda niewyraźne, powinieneś podać błędy, o których mówiłeś. Ale myślę, że jest wystarczająco jasne, aby uzyskać odpowiedź. – fbernardo
Błędy tutaj nie mają znaczenia, są one wyraźnie spowodowane tym, że xCode nie rozumie składni, którą próbuję zastosować. –