Potrzebuję pomocy w debugowaniu mojej klasy. Dostaję błąd tak dziwaczny, że nie mogłem znaleźć czegoś podobnego, więc zamierzam odłożyć większość mojego kodu.Błąd Xcode: Brak znanej metody wprowadzania dla selektora
//Tab.h
#import <UIKit/UIKit.h>
@class Tab;
@protocol TabDelegateDataSource <NSObject>
@required
-(void)removeTab:(Tab *)tab;
@end
@interface Tab : UIView
{
id <TabDelegateDataSource> __strong _delegate;
}
@property(strong) id <TabDelegateDataSource> delegate;
-(void)removeTab;
@end
// Tab.m
#import "Tab.h"
@implementation Tab
@synthesize delegate = _delegate;
-(void)removeTab
{
[self.delegate removeTab:self];//Error here saying: No known instance method for selector 'removeTab:'
}
@end
Z ciekawości, co stałoby się, gdyby zastąpić 'self.delegate' przez' _delegate' na linii naruszającej prawa? – dasblinkenlight
Czy Twój delegat rzeczywiście ma metodę "removeTab"? Ten komunikat o błędzie sugeruje, że tak nie jest. Spróbuj debugowania i sprawdzania self.delegate i upewnij się, że jest to, czego oczekujesz, i że ma metodę 'removeTab'. – WilHall
problem nie występuje w kodzie, który napisałeś. Skopiowałem go do nowego projektu i kompiluje bez błędów i ostrzeżeń. –