Tag: restkit

Restift在Swift项目

我已经将RestKit导入到了我的swift项目中。 但是我不能在我的swift文件中导入Restkit.h文件。 任何人都可以告诉我要遵循的步骤,以便我可以将Restkit.h文件导入到我的swift文件? RestKit是否提供了快捷的语言?

Restkit编辑插入coredata

我使用restkit消费一个Web服务,但是当我得到的数据我想添加一些其他的参数,我搜查,我发现我应该实现函数调用willsave,但我不知道的方式 NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:brandId,@"brandId",categoryId,@"categoryId", nil]; [[RKObjectManager sharedManager] postObject:nil path:@"/mywebservice" parameters:params success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) { [self getProductsList]; } failure:^(RKObjectRequestOperation *operation, NSError *error) { }];

RestKit:'NSInternalInconsistencyException',原因:'无法执行映射:没有`managedObjectContext`分配

我收到以下错误: *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Unable to perform mapping: No `managedObjectContext` assigned. (Mapping response.URL = https://www.someurl.com/lastrequest=2014-12-08T02%3A44%3A52Z)' 该应用程序停在RKResponseMapperOperation.m中的以下行: – (RKMappingResult *)performMappingWithObject:(id)sourceObject error:(NSError **)error { NSLog(@"managedObjectContext: %@, Source Object: %@ Error: %@", self.managedObjectContext, sourceObject, (*error).description); NSAssert(self.managedObjectContext, @"Unable to perform mapping: No `managedObjectContext` assigned. (Mapping response.URL = %@)", self.response.URL); …. 我注意到,在应用程序崩溃之前,上述方法被称为27(这个数字变化)。 在每个实例中,NSManagedObjectContext存在,即下面的行: 2014-12-07 […]

RestKit数据同步后本地删除问题

我使用RestKit作为应用程序的后端。 一切运作良好,但我遇到一个问题,提取本地删除后未经修改的数据。 这是匹配的path: [self.objectManager addFetchRequestBlock:^NSFetchRequest *(NSURL *URL) { RKPathMatcher *pathMatcher = [RKPathMatcher pathMatcherWithPattern:@"cards"]; if([pathMatcher matchesPath:[URL relativePath] tokenizeQueryStrings:NO parsedArguments:nil]) return [NSFetchRequest fetchRequestWithEntityName:@"Card"]; return nil; }]; 当API响应缺less一个本地对象时,删除正确传播。 但是,如果执行本地删除,如下所示: for(NSManagedObject *entity in cards) { [RKManagedObjectStore.defaultStore.mainQueueManagedObjectContext deleteObject:card]; 如果再次执行/卡提取请求,如果在CoreData中刚被删除的对象没有改变,那么卡不会被更新。 直到应用程序重新启动或API响应中包含新对象之前,情况仍然如此。 即使服务器正在返回适当的JSON,RKMappingResult也是空的: 2013-07-03 17:58:00.732 Thanx[76837:c07] I restkit.network:RKHTTPRequestOperation.m:185 GET 'http://api.thanx-web.dev/v2/cards' (200 OK) [0.1086 s] 2013-07-03 17:58:00.734 Thanx[76837:c07] <RKMappingResult: 0xac9b080, results={ "<null>" = […]

Restkit嵌套映射有问题

我一直在试图创build一个login服务的请求,但我收到答复时有问题,我不知道我在做什么错。 这是我的代码: AppDelagate /* LOGIN RESPONSE */ RKObjectMapping *userMapping = [RKObjectMapping mappingForClass:[UserMapping class]]; [userMapping addAttributeMappingsFromDictionary:@{ @"_id":@"_id", @"name": @"name", @"lastname": @"lastname", @"username": @"username", @"password": @"password", @"repeatPassword": @"repeatPassword", @"age": @"age", @"gender": @"gender", @"photo": @"photo"}]; RKObjectMapping *loginResponseMapping = [RKObjectMapping mappingForClass:[LoginResponse class]]; [loginResponseMapping addAttributeMappingsFromArray:@[ @"code", @"message" ]]; [loginResponseMapping addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath:@"data" toKeyPath:@"data" withMapping:userMapping]]; RKResponseDescriptor *loginResponseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:loginResponseMapping method:RKRequestMethodPOST pathPattern:nil […]

ResKit的REST Web服务

我很困惑什么REST API将跟随RestKit同步。 在发出放置/发布/删除请求时遇到问题。 我遵循的REST API之一是从NetTuts ,我发现很难与RestKit同步。 有什么build议么? 非常感谢!

RestKit对象映射:使用setObjectMapping的困难:forResourcePathPattern:withFetchRequestBlock

我的设置 以下所有工作正常: RKManagedObjectMapping* chanMapping = [RKManagedObjectMapping mappingForClass:[Channel class] inManagedObjectStore:objectStore]; chanMapping.primaryKeyAttribute = @"chanId"; [chanMapping mapKeyPathsToAttributes: @"id",@"chanId", @"name", @"chanName", nil]; [objectManager.mappingProvider setMapping:chanMapping forKeyPath:@"Channels.channel"]; 我可以打电话 [[RKObjectManager sharedManager] loadObjectsAtResourcePath:@"/channels" delegate:self]; 我从服务器获取我的频道,他们在Core Data本地存储。 完善。 问题 不过,我现在不想让RestKit在下次执行GET时从Core Data存储中自动删除已从服务器上删除的通道。 我明白这是支持添加以下内容: [objectManager.mappingProvider setObjectMapping:chanMapping forResourcePathPattern:@"/channels" withFetchRequestBlock:^ (NSString *resourcePath) { return [Channel fetchRequest]; }]; 但是,只要服务器上有新的东西,所有的通道都会被删除。 我试过的东西 [已更新] 我已经使用下面的答案中的步骤进行了debugging。 它看起来好像映射不工作/没有被发现(即我没有正确关联的映射与资源path)。 在deleteCachedObjectsMissingFromResult , cachedObjects数组看起来不错,拥有上一次应该在那里的所有对象,但results数组是空的,这显然导致[results containsObject:object]总是NO ,所有的对象都被删除。 我是否需要更改某些资源path映射?

RESTKit:两个终点POST,PUT,DELETE

我有两个EndPoints: http://rest.domain.com/invite http://rest.domain.com/template 根据用户select的选项,我需要能够在两个EndPoint上进行PUT , POST和Delete 。 所有三种方法的映射略有不同。 每个EndPoint的映射也不同。 什么是设置映射的最佳方法,以便它们被加载一次,并且可以针对每个EndPoint使用多次,具体取决于用户select的选项( PUT , POST或Delete )? 我必须在一个故事板上完成这个场景! 目前,下面是我在POST /invite EndPoint时使用的代码(在重映射后的第一个POST b / c之后崩溃): – (void)sendInvite:(NSInteger)methodType { AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; self.objectManager = [self getObjectManager]; self.objectManager.managedObjectStore = appDelegate.managedObjectStore; RKEntityMapping *invitationMapping = [RKEntityMapping mappingForEntityForName:kInvite inManagedObjectStore:self.objectManager.managedObjectStore]; RKEntityMapping *activityMapping = [RKEntityMapping mappingForEntityForName:kActivity inManagedObjectStore:self.objectManager.managedObjectStore]; Invite *invitation; switch (methodType) { […]

ASIHttpRequest调用Restful Web服务?

ASIHttpRequest可以调用Restful Web服务吗? 我知道Restkit很擅长。 如果没有,任何简单的方法来转换? 我们可以说ASIHttpRequest擅长调用基于SOAP的Web服务吗? 感谢您的意见 !

使用特定于请求的HTTP头与RestKit

我必须使用自定义授权scheme与REST API进行通信。 它使用一个授权头,我需要根据请求的内容来设置,所以服务器可以检查我知道该scheme。 我想使用RestKit及其强大的核心数据利用率,但我发现很难find一个简单的方法来设置这个标头为每个不同的请求。 在每个请求之前都没有像RKObjectManager上的委托那样的事情。 也许我错过了一些东西,有人可以告诉我是否有一个简单的方法来做到这一点? 提前致谢。