____ 没有可见的@interface 声明选择器
Posted
技术标签:
【中文标题】____ 没有可见的@interface 声明选择器【英文标题】:No visible @interface for ____ declares the selector 【发布时间】:2016-01-21 06:02:40 【问题描述】:我在需要两个参数的单独类(称为 ExternalClass)中设置了一个方法。
-(void) openImage:(NSDictionary *)payload InApp:(UIApplication *)app;
在我的 AppDelegate.m 中,我这样调用方法:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)payload fetchCompletionHandler (void (^)(UIBackgroundFetchResult))completionHandler
[[ExternalClass sharedInstance] openImage:payload InApp:application];
我得到“ExternalClass 没有可见的@interface 声明选择器'openImage:InApp'
知道为什么吗?
【问题讨论】:
你没有导入.h文件? 我导入了 .h 文件。原来这是我的框架的问题。谢谢 【参考方案1】:我想你忘了在 header(.h) 文件中声明这个方法。
在ExternalClass.h
文件中声明这个方法。
-(void) openImage:(NSDictionary *)payload InApp:(UIApplication *)app;
并导入这个 ExternalClass.h
,在你想使用这个方法的地方。
【讨论】:
啊,这实际上不是问题。但是您的建议帮助我缩小了问题的范围。谢谢。【参考方案2】:好的,我正在尝试创建一个框架并在我的应用程序中使用它。事实证明,我对任何框架方法所做的更改都没有反映在我的应用程序中。谢谢你们为我指出正确的方向。
【讨论】:
以上是关于____ 没有可见的@interface 声明选择器的主要内容,如果未能解决你的问题,请参考以下文章
如何解决错误'UIViewController'没有可见的@interface声明选择器''
“NSString”没有可见的@interface 声明选择器“performStringGeocode”