我有一个与服务器一起使用的应用程序.
我想创建一个离线模式,即当用户创建某些内容或更改它在某处保存时,然后当出现互联网连接时 – 这些请求将转到服务器.我怎样才能做到这一点?如何在NSUserDefaults中存储块?如何不丢失指向这些块的指针?
它可以是不同的控制器.请帮帮我.我为我糟糕的英语道歉.
我试图在NSUserDefaults中保存这些对象
我想创建一个离线模式,即当用户创建某些内容或更改它在某处保存时,然后当出现互联网连接时 – 这些请求将转到服务器.我怎样才能做到这一点?如何在NSUserDefaults中存储块?如何不丢失指向这些块的指针?
它可以是不同的控制器.请帮帮我.我为我糟糕的英语道歉.
我试图在NSUserDefaults中保存这些对象
typedef void (^ExecutionBlock)(void); @interface OfflineBlockObject : NSObject @property (nonatomic,copy) ExecutionBlock block; @property (nonatomic,strong) NSArray<NSMutableArray *> *operandsArray; @property (nonatomic,strong) NSArray *conditionsArray; @end OfflineBlockObject *blockObject = [[OfflineBlockObject alloc] init]; BOOL first = [self.reservation.reservationID boolValue]; NSArray *conditions = @[@(first),@(self.shouldCallSetTagsForReservation)]; NSArray *operands = @[@[[self.reservation json],self.reservation.reservationID ? : @0,self.selectedTags ? : @[]],@[[self.reservation json],@(self.shouldForceApproved),self.selectedTags? : @[]]]; blockObject.conditionsArray = [conditions copy]; blockObject.operandsArray = [operands copy]; @weakify(blockObject); blockObject.block = [^{ @strongify(blockObject); if ([blockObject.conditionsArray[0] boolValue]) { ReservationsModel *m = [[ReservationsModel alloc] init]; [m editReservation:blockObject.operandsArray[0][0] success:^(id responSEObject) { if ([blockObject.conditionsArray[1] boolValue]) { [m setReservationTags:blockObject.operandsArray[0][1] tags:blockObject.operandsArray[0][2] success:nil failure:nil]; } } failure:nil]; } else { self.reservation.eventId = self.reservationEvent.eventInfoID; ReservationsModel *m = [[ReservationsModel alloc] init]; [m createReservation:blockObject.operandsArray[1][0] shouldForceApproved:[blockObject.operandsArray[1][1] boolValue] success:^(id responSEObject) { Reservation *reservation = [Reservation reservationWithJson:responSEObject]; if (reservation.reservationID) { if ([blockObject.conditionsArray[1] boolValue]) { [m setReservationTags:reservation.reservationID tags:blockObject.operandsArray[0][2] success:nil failure:nil]; } } } failure:nil]; } } copy]; [[OfflineQueueHelper sharedHelper] addTask:blockObject];
但我的块属性变为null