gpt4 book ai didi

objective-c - Xcode 错误 : No known instance method for selector

转载 作者:太空狗 更新时间:2023-10-30 03:17:41 31 4
gpt4 key购买 nike

我需要帮助调试我的类(class)。我遇到了一个非常奇怪的错误,以至于我找不到任何类似的错误,所以我将放下我的大部分代码。

//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

最佳答案

我现在可以随意重新创建和修复此错误。

确保定义它的 .h header ...

@protocol TabDelegateDataSource <NSObject>
-(void)removeTab:(Tab *)tab;
@end

...包含无论您计划使用委托(delegate)的什么地方,例如在包含以下内容的 .m 源顶部的某处:

[self.delegate removeTab:self]

如果编译器只看到像这样的 TabDelegateDataSource 的前向定义:

@protocol TabDelegateDataSource;

你会得到错误:

error: no known instance method for selector 'removeTab:'

而不是更预期的前向定义相关错误

关于objective-c - Xcode 错误 : No known instance method for selector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8387701/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com