Tag: restkit

如何保持login,直到用户决定注销?

我正在devise一个应用程序,它使用Web服务,如发布链接和图片。 第一个视图控制器检查用户的默认用户名和密码,如果它是正确的,它允许用户login到家庭视图控制器,但如果它不正确,它将引导用户到login视图控制器(如果它的第一次该应用程序正在运行它也指示用户login视图控制器)。 我有不同的视图控制器连接到主视图控制器。 例如,其中一个用于将图片发布到网站,另一个用于发布链接到networking,另一个视图控制器用于改变用户简档的偏好。 我正在使用RestKit API在网上发布,这里是我用于发布的代码: – (IBAction)addLinkPressed:(UIButton *)sender { [RKClient clientWithBaseURLString:@"http://MyWebsite.com"]; NSDictionary* params = [NSDictionary dictionaryWithObjectsAndKeys: self.linkField.text, @"url", self.linkTitleField.text, @"title", self.linkSummaryField.text, @"summary", nil]; RKRequest *request = [[RKClient sharedClient] post:@"/send_link.php" params:params delegate:self]; [request setUserData:@"sendLink"]; } 对于每个视图控制器,我将下面的方法放在viewDidLoad中,以便获取发布的身份validation: – (void)autoLogin { [RKClient clientWithBaseURLString:@"http://MyWebsite.com"]; [RKObjectManager sharedManager].client=[RKClient sharedClient]; RKParams *parameters = [RKParams params]; [parameters setValue:[[NSUserDefaults standardUserDefaults] objectForKey:@"defaultUsername"] forParam:@"username"]; [parameters […]

如何将Jsonstring转换为NSArray?

我目前正在尝试将某些对象的Json表示forms转换为NSArray。 我使用RestKit通过我们编写的Api获取响应。 现在我想将RKResponse转换成一个对象数组。 我怎样才能做到这一点 ?

需要有关RestKit数据同步scheme的帮助

我为iOS应用程序使用RestKit。 我已经做了以下使用restkit:1.从JSON格式的restapi拉服务器对象。 2.删除服务器上不存在的核心数据中的孤立对象。 现在我必须build立下面的场景,如果互联网可用的设备和用户正在添加一个新的数据项,那么我应该怎么做,即我应该在本地存储新的数据,然后张贴到服务器或首先我后数据到服务器,并拉回到设备上? 其次,如果互联网不可用的设备和用户插入一个新的数据项,然后在本地保存数据,在互联网的可用性如何张贴新添加的数据项到服务器,即我应该遵循什么样的方法,如果restkit可以帮助我解决这个情况?

获取一个NSArray

我想知道如何将两个array合并成一个array 。 我想组合的tableView显示最近的。 我会根据需要发布任何额外的代码或帮助, 非常感谢!

RestKit NSFetchRequest块用于删除孤立的对象

我有一个Rest api托pipe在我的.com域上,在接收这样的请求后www.mydomain.com/api/lists将返回json格式的数据,如下所示 [ {"list_id":"1","listName":"List Name 1"}, {"list_id":"2","listName":"List Name 2"}, {"list_id":"5","listName":"List Name 3"}, {"list_id":"7","listName":"List Name 4"}, {"list_id":"8","listName":"List Name 5"}, {"list_id":"11","listName":"List Name 6"}, {"list_id":"12","listName":"List Name 7"} ] 现在我在我的RKObjectManger中添加一个NSFetchRequest块来检查使用此代码的孤立对象 [objectManager addFetchRequestBlock:^NSFetchRequest *(NSURL *URL) { RKPathMatcher *pathMatcher = [RKPathMatcher pathMatcherWithPattern:@"/api/lists"]; NSDictionary *argsDict = nil; BOOL match = [pathMatcher matchesPath:[URL relativePath] tokenizeQueryStrings:NO parsedArguments:&argsDict]; NSString *listID; if (match) { listID = […]

将parsing的数据馈送到RKMapperOperation将引发NSUnknownKeyException

看到我的另一个问题的背景: RestKit的dynamic映射将解决这个复杂的JSON映射? 由于服务器的结构,我需要转换成NSManagedObject的JSON数据的方式,我传递parsing的JSON做一个直接的对象映射,如下所示: RKObjectMapping *mapping = [RKObjectMapping requestMapping]; [mapping addAttributeMappingsFromDictionary:@{@"id": @"id", @"name": @"name"}]; NSDictionary *mappingsDictionary = @{ [NSNull null]: mapping }; RKMapperOperation *mapper = [[RKMapperOperation alloc] initWithRepresentation:dataArray mappingsDictionary:mappingsDictionary]; NSError *mappingError = nil; BOOL isMapped = [mapper execute:&mappingError]; if (isMapped && !mappingError) { for (id thing in mapper.mappingResult.array) { NSLog(@"Mapped the '%@' thing: %@", NSStringFromClass([thing class]), […]

使用RestKit进行同步调用

我有一个objectMapping为我的实体用户 RKObjectMapping* userMapping = [RKObjectMapping mappingForClass:[User class]]; [userMapping mapKeyPath:@"first_name" toAttribute:@"firstName"]; [userMapping mapKeyPath:@"last_name" toAttribute:@"lastName"]; [manager.mappingProvider setMapping:userMapping forKeyPath:@"users"]; [manager.mappingProvider setSerializationMapping:[userMapping inverseMapping] forClass:[User class]]; 而我想保存他的个人资料,当应用程序进入后台: – (void)applicationDidEnterBackground:(UIApplication *)application { [[RKObjectManager sharedManager] putObject:currentUser delegate:self]; } 但它不会让我在closures应用程序时运行请求(我猜测没有新的线程是允许的)。 所以我想同步做到这一点。 但是,我没有设法与RestKit做到这一点。 我身边有一些误解吗? 我想拥有: [[RKObjectManager sharedManager] putObjectSynchronously:currentUser];

找不到RestKit / RestKit.h文件错误 – 版本0.10.0

我试图让RestKitbuild立和工作,我正在失去我的头发。 我得到了可怕的“词法或预处理器问题:找不到RestKit / RestKit.h文件”消息。 我使用Xcode 4.2和我的项目是为iOS。 此前,我有debugging模式与RestKit 0.9.0完美的工作。 然后我在试图归档时遇到了问题。 在阅读这个论坛并尝试一些解决scheme后,我决定升级到0.10.0,希望能够解决这个问题。 现在,我的项目甚至没有build立在debugging模式,我得到了相同的RestKit / RestKit.h文件未find错误。 我有这个在标题searchpath下:“$(BUILT_PRODUCTS_DIR)/../../ Headers”。 你能build议(对于0.10.0版本):1)RestKit的物理位置应该在哪里? (这可能没有关系,但是哪一个为你工作 – 我希望能够反映你的设置)2)我试图把我的头部searchpath指向“/ Developer / Library / RestKit-RestKit-69adee9 /”, /开发/库/ RestKit-RestKit-69adee9 /编译” 完全困惑和沮丧.. 编辑1:几个小时后,我放弃了。 编辑我的项目。 创build了一个新的项目。 重新创build文件(从prev项目复制粘贴)。 现在“RestKit not found”错误消失了! 但现在,我得到这个其他的错误: Undefined symbols for architecture i386: "_OBJC_CLASS_$_RKObjectMapping", referenced from: objc-class-ref in myclassname1.o "_OBJC_CLASS_$_RKObjectManager", referenced from: objc-class-ref in myclassname2.o ld: […]

RestKit:为postObject调用什么委托方法?

– (RKObjectLoader *)postObject:(id<NSObject>)object delegate:(id<RKObjectLoaderDelegate>)delegate被调用后调用- (RKObjectLoader *)postObject:(id<NSObject>)object delegate:(id<RKObjectLoaderDelegate>)delegate什么方法? 我试图运行一些我的POST成功的代码。 编辑(更多信息): @Paul提到的这两种方法都没有被调用,但是我的服务器正在正确地解释POST,因为DB正在被写入。 在应用程序初始化期间,我正在做以下事情: // Grab the reference to the router from the manager RKObjectRouter *router = [RKObjectManager sharedManager].router; // Define a default resource path for all unspecified HTTP verbs [router routeClass:[EventMessage class] toResourcePath:@"/events_messages/:idPrimaryKey"]; [router routeClass:[EventMessage class] toResourcePath:@"/event_messages" forMethod:RKRequestMethodPOST]; 当我准备发布时,我正在这样做: RKObjectMapping *objectMapping = [RKObjectMapping mappingForClass:[EventMessage class]]; [objectMapping mapKeyPath:@"user_id" […]

在NSDictionary中用RestKit嵌套对象

我有一个JSON文件,其中包含具有已知架构的对象与未知键的对象,我想用RestKit映射。 让我解释一下: { "object": { "unknownKey1" : {"data1" : "…", "data2" : "…"}, "unknownKey2" : {"data1" : "…", "data2" : "…"}, "unknownKey3" : {"data1" : "…", "data2" : "…"} } } 只有在运行时才知道用“对象”键设置对象。 包含在对象中的键具有随机名称。 但是,我知道存储在这些未知键上的对象的确切模式。 现在我想将对象的内容映射到一个NSDictionary,因为它提供了对随机键的简单访问。 但是,由于存储在这些键上的对象的架构是已知的,所以我希望将它们映射到自定义对象。 那么是否有可能映射到包含这些对象的NSDictionary? 我还没有find解决scheme…