Довольно простой материал, но я не могу устранить проблему, где проблема. В моем проекте, у меня есть класс с именем «TheFeedStore» со следующими двумя способами:ARC Semantic Issue: No visible @interface для класса объявляет селектор
- (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
UPDATE: Просто, чтобы проверить, я объявил еще один метод тестирования в TheFeedStore.h, тот же результат, один класс может получить доступ к вновь созданному методу, пока остальные три класса не могут.
UPDATE: Я попытался создать больше методов в TheFeedStore.h только для устранения этой проблемы. Новые методы также недоступны из других классов. Но если тип возврата этих новых методов (RSSChannel *), который является другим модельным классом в моем проекте, становится доступным. Если их тип возврата отличается от некоторого класса (void) и (BOOL), то они недоступны. Вот мой TheFeedStore.h https://gist.github.com/jessicamoore112/5558473
Вы '# импортировали 'класс в класс, где вы получаете эту ошибку? –
, конечно, я импортировал класс. Он не распознает методы, даже метод класса «sharedStore» входит в список автозаполнения, когда я набираю [[TheFeedStore sharedStore] – AJ112
, что у вас есть в файле TheFeedStore.h? Вы объявили эти методы экземпляра в .h? –