Класс API, преобразующий данные в массив на iOS 17 ИЛИ новее, но не на iOS 16 или старшеIOS

Программируем под IOS
Anonymous
Класс API, преобразующий данные в массив на iOS 17 ИЛИ новее, но не на iOS 16 или старше

Сообщение Anonymous »

у меня есть класс API под названием MUAPIResponse

Код: Выделить всё

#import 
#import "MUPagination.h"

@interface MUAPIResponse : NSObject
@property (assign,readonly,nonatomic) BOOL successful;
@property (strong,readonly,nonatomic) id data;
@property (strong,readonly,nonatomic) MUPagination * pageInfo;
@property (strong,readonly,nonatomic) NSError * error;
-(instancetype) initWithData:(id) data;
-(instancetype) initWithData:(id) data pageInfo:(MUPagination*) pageInfo;
-(instancetype) initWithError:(NSError*) error;
+(MUAPIResponse*) responseWithData:(id) data;
+(MUAPIResponse*) responseWithData:(id)data pageInfo:(MUPagination *) pageInfo;
+(MUAPIResponse*) responseWithError:(NSError*)error;
@end
Моя серверная группа возвращает мне данные, сообщение об успешном выполнении и сообщение об ошибке, когда я делаю вызов API, он возвращается следующим образом
Всякий раз, когда я делаю тот же вызов API на устройствах iOS17 в обработчике завершения я изменил объект данных ответа API на массив, однако он не преобразовал данные в массив на устройствах iOS 16 или более ранних версиях с приведенным ниже кодом
Примечание: проверил ответ API, он одинаков для обеих версий iOS

Код: Выделить всё

-(void) getHomePromotionCategories:(void(^)(NSArray*,NSError*)) completionHandler
{
[[self.service getHomePromotionCategories:
^(MUAPIResponse * response, NSHTTPURLResponse * urlResponse) {
if(completionHandler){
completionHandler(response.data,response.error);
}
}] resume];
}
с таким же ответом, как можно не преобразовывать данные ответа в массив для устройств iOS 16 или более ранних версий
Я могу предоставить дополнительную информацию в соответствии с запросом
Я пытаюсь преобразовать данные моего объекта ответа API в массив класса для устройств iOS 16 или более ранних версий, как это работало на устройствах iOS 17 или более поздних версий

Подробнее здесь: https://stackoverflow.com/questions/786 ... -16-or-old

Вернуться в «IOS»