iphone – ARC语义问题:没有可见的@interface for Class声明了选择器

概述非常基本的东西,但我无法解决问题所在.在我的项目中,我有一个名为“TheFeedStore”的类,有以下两种方法: - (BOOL)hasItemBeenRead:(RSSItem *)item{ ............}- (void)markItemAsRead:(RSSItem *)item{ .........} 我使用以下类方法,以便其他类可以使用它访问这些方法: 非常基本的东西,但我无法解决问题所在.在我的项目中,我有一个名为“TheFeedStore”的类,有以下两种方法:

- (BOol)hasItemBeenRead:(RSSItem *)item{   ............}- (voID)markItemAsRead:(RSSItem *)item{  .........}

我使用以下类方法,以便其他类可以使用它访问这些方法:

+ (TheFeedStore *) sharedStore{    static TheFeedStore *FeedStore = nil;    if (!FeedStore) {        FeedStore = [[TheFeedStore alloc] init];    }    return FeedStore;}

在我的另一个课程中,我可以通过写作轻松访问上述方法

if ([[TheFeedStore sharedStore] hasItemBeenRead:item])

要么

[[TheFeedStore sharedStore] markItemAsRead:entry];

但是在另一个类中,如果我尝试以类似的方式访问这些方法,我得到错误“没有可见的@interface为’TheFeedStore’声明了选择器’hasItemBeenRead:”

1) I have imported TheFeedStore.h file in the classes from i am
accessing these methods of TheFeedStore class.

2) I have checked like 10 times and there is no typo.

3) The methods i am accessing are also declared in the header file of
TheFeedStore.h

更新:只是为了检查,我已经在TheFeedStore.h中声明了另一个测试方法,同样的结果,一个类可以访问新创建的方法,而其他三个类则不能.

更新:我已经尝试在TheFeedStore.h中创建更多方法,仅用于解决此问题.其他类也无法访问新方法.但是如果这些新方法的返回类型是(RSSChannel *),它是我项目中的另一个模型类,那么它们就变得可访问了.如果它们的返回类型不是某些类,如(voID)和(BOol)那么它们是不可访问的.这是我的TheFeedStore.h https://gist.github.com/jessicamoore112/5558473

解决方法 您已经说过在头文件中使用@class而不是#import,您尝试访问的方法在头文件中声明,并且没有任何类型的拼写错误.

在这种情况下,通常没有人指出这个问题,但无论如何我都会这样做,因为我多次遇到过这样的问题.您可能已创建了许多项目副本,以处理每个功能并保留工作项目.

执行此 *** 作时,有时Xcode仍在使用少量文件的旧副本.这意味着当您未尝试访问您尝试访问的方法时,它仍在使用TheFeedStore.h的旧副本.

如何解决这个问题非常简单.转到您尝试访问方法的文件以及声明这些方法的文件.

在右侧的“实用程序”部分中,检查“身份和类型”区域下的位置和完整路径.

首先检查项目的名称,如果它与您正在处理的项目名称不同,则表示Xcode仍在从项目的上一版本中提取文件的旧副本.在我的案例中,请参阅项目名称为13SampleMoreRequests的蓝色箭头.

如果此名称与您的项目名称相同,那么我的答案并不能解决您的问题.如果不同,则应使用红色箭头指示的符号浏览新位置,以使用该文件的新副本.

浏览并使用新文件后,您的问题将得到解决,您将能够访问这些方法.如果仍然不能,请复制这些文件,从项目中删除然后再次添加它们,您将不会遇到此问题.

希望这可以帮助!

总结

以上是内存溢出为你收集整理的iphone – ARC语义问题:没有可见的@interface for Class声明了选择器全部内容,希望文章能够帮你解决iphone – ARC语义问题:没有可见的@interface for Class声明了选择器所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1068022.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存