Неявное преобразование указателя Objective-C в 'int *' не допускается с помощью ARC после свойства move в файл.h

82
2

У меня есть контроллер, который имеет свойства, определенные в файле .m:

@interface ContentViewController ()<SwipeViewDataSource, SwipeViewDelegate>
@property (nonatomic, strong) SwipeView *swipeView;
@property (nonatomic, strong) NSMutableArray *items;
@property (nonatomic, strong) CateItem *cateItem;
@end

Тогда, поскольку я хочу получить доступ к swaipView и cateItem в другом контроллере, поэтому я думаю, что это нормально, чтобы переместить их в .h файл следующим образом:

@interface ContentViewController : UIViewController
@property (nonatomic, strong) SwipeView *swipeView;
@property (nonatomic, strong) CateItem *cateItem;
@end

Но после этого, ранее работающий код выглядит следующим образом:

   if([[CateItem allObjects] count ] != 0){
self.cateItem = [CateItem allObjects][0];
}

будет жаловаться следующим образом:

enter image description here

Что случилось и как это исправить?

как требуется комментарием здесь, это cateItem, его модель области

#import <Foundation/Foundation.h>
#import <Realm/Realm.h>

@interface LivePhotoItem: RLMObject
@property NSString *image;
@property NSString *video;
@property NSString *fileid;
@property BOOL downloaded;
@end

RLM_ARRAY_TYPE(LivePhotoItem)
@interface CateItem: RLMObject
@property NSString *_id;
@property NSString *cateId;
@property NSString *category;
@property RLMArray<LivePhotoItem> *items;
@property NSString *cnName;
@end

спросил(а) 2017-12-03T18:40:00+03:00 3 года назад
1
Решение
83

Вам нужно добавить опережающее объявление о CateItem в ContentViewController заголовка над @interface блока:

@class CateItem;

В противном случае компилятор, не имеющий информации о типе CateItem, предполагает тип свойства int *.

ответил(а) 2017-12-03T18:54:00+03:00 3 года назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема