我正在使用Restkit与Drupal CMS进行通信。当我发送时 首先要求一切正常:我得到了正确的JSON- string - >真棒。这就是控制台所说的:
2011-06-24 23:00:48.344 MyApp [1399:207]将POST请求发送到URL http://mysite.com/myproject/services/rest/service_views/get.json。 HTTP 正文:view_name = viewsname
如果应用尝试再次发送相同的请求,则不会发生任何事情。没有 委托方法的调用。控制台说:
2011-06-24 23:03:40.224 MyApp [1399:207]向URL发送GET请求 http://www.mysite.com/myproject/services/rest/service_views/get.json。 HTTP正文:
我正在使用特殊类(单例)中的所有Restkit内容 我保留作为视图控制器的实例变量。在这个init函数中 我正在上课:
RKObjectManager* objectManager = [RKObjectManager
objectManagerWithBaseURL:kBaseURLKey];
在我的视图控制器中,我正在调用- (void)pollForNewData
函数,
它执行以下操作:
RKObjectLoader* objectLoader = [[RKObjectManager sharedManager] loadObjectsAtResourcePath: kRessourceKey objectClass:[RKNotification class] delegate:self];
objectLoader.method = RKRequestMethodPOST;
objectLoader.params = [NSDictionary dictionaryWithKeysAndObjects: @"view_name", @"viewsname", nil];
[objectLoader send];
任何人都可以帮助我吗?在第一次之后我是否必须做一些特别的事情 回应来了吗?是否可以取消请求(如果保留当前视图)?
答案 0 :(得分:6)
当前的RestKit源代码(~0.9.2 +)似乎没有loadObjectsAtResourcePath:objectClass:delegate:method。
您可以使用以下内容:
// It's for logging in Drupal's user resource with RestKit.
// You can change the user bits to your need.
RKObjectManager *objectManager = [RKObjectManager sharedManager];
RKObjectMapping *currentUserMapping = [objectManager.mappingProvider objectMappingForKeyPath:@"currentUser"];
RKObjectLoader *objectLoader = [objectManager objectLoaderWithResourcePath:@"user/login" delegate:self];
objectLoader.method = RKRequestMethodPOST;
objectLoader.objectMapping = currentUserMapping;
objectLoader.params = [NSDictionary dictionaryWithObjectsAndKeys:
@"testuser", @"username",
@"testpass", @"password",
nil];
[objectLoader send];
希望它有所帮助。