클래스 디버깅에 도움이 필요합니다. 나는 비슷한 것을 찾을 수 없을 정도로 기괴한 오류가 발생했습니다. 그래서 나는 대부분 내 코드를 내려 놓을 것입니다.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
이것을 잊지 마세요, 무엇을 'self.delegate'를'_delegate'로 바꾸면 문제가 발생할 수 있습니다. – dasblinkenlight
당신의 델리게이트는 실제로'removeTab' 메소드를 가지고 있습니까? 이 오류 메시지는 그렇지 않음을 의미합니다. 디버그와 self.delegate 검사를 해보고 기대했던대로하고 removeTab 메소드를 가지고 있는지 확인하십시오. – WilHall
게시 한 코드에 문제가 없습니다. 새 프로젝트에 복사하고 오류 및 경고없이 컴파일합니다. –