我需要幫助調試我的類。我遇到了一個很奇怪的錯誤,我找不到任何類似的東西,所以我只想放下大部分代碼。Xcode錯誤:沒有已知的實例方法選擇器
//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
出於好奇,是什麼如果你在違規行上用'_delegate'替換'self.delegate',會發生什麼? – dasblinkenlight
你的委託實際上有一個'removeTab'方法嗎?這個錯誤信息暗示它沒有。嘗試調試和檢查self.delegate,並確保它是你所期望的,並且它有一個'removeTab'方法。 – WilHall
問題不在您發佈的代碼中。我將它複製到一個新的項目,它編譯沒有錯誤和警告 –