Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在Xcode 4中发布json对象?_Ios_Ios4_Xcode4 - Fatal编程技术网

Ios 如何在Xcode 4中发布json对象?

Ios 如何在Xcode 4中发布json对象?,ios,ios4,xcode4,Ios,Ios4,Xcode4,我使用异步nsurl连接获取json对象 {“firstname”:“A”,“Contact”:{“phone”:1234567899,“email”:abc@yahoo.com“}} 我想知道,如果我改变了我的电话号码的值,然后想把它上传回来,我该怎么做。我们必须只发送电话或整个对象的键值对吗 {“firstname”:“A”,“Contact”:{“phone”:1234567899,“email”:”abc@yahoo.com“}}将更新后的电话号码发送到服务器,以便在数据库中进行更新 N

我使用异步nsurl连接获取json对象
{“firstname”:“A”,“Contact”:{“phone”:1234567899,“email”:abc@yahoo.com“}}

我想知道,如果我改变了我的电话号码的值,然后想把它上传回来,我该怎么做。我们必须只发送电话或整个对象的键值对吗 {“firstname”:“A”,“Contact”:{“phone”:1234567899,“email”:”abc@yahoo.com“}}将更新后的电话号码发送到服务器,以便在数据库中进行更新

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; [request setURL:myUrl];
[request setHTTPMethod:@"POST"];
[request setValue:@"text/plain" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:stringInNSData]; 

我发现上述逻辑几乎无处不在,但不知道如何实现以及在何处实现。

这实际上取决于您的服务器和数据库的存储方式。如果使用的是类似SQL的数据库,则需要传递主键,该主键标识要更新的数据行以及更新的字段。接收post的服务器代码可以更新传入的属性,而不影响数据行的其余部分

要在何处实现这一点,您应该在数据发生更改时实现它。如果存在触发数据更改的UI元素,您可以在那里实现它。只需将此添加到代码下面

NSURLConnection *urlConnection = [NSURLConnection connectionWithRequest:request delegate:self];
这将设置代码在其中实现的类作为连接的委托并启动连接。您可以使用这些方法来处理更新的成功或失败

Connection Data and Responses
– connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:  delegate method Available in iOS 3.0 through iOS 4.3
– connection:didReceiveData:  delegate method Available in iOS 2.0 through iOS 4.3
– connection:didReceiveResponse:  delegate method Available in iOS 2.0 through iOS 4.3
– connection:willCacheResponse:  delegate method Available in iOS 2.0 through iOS 4.3
– connection:willSendRequest:redirectResponse:  delegate method Available in iOS 2.0 through iOS 4.3
Connection Completion
– connection:didFailWithError:  delegate method Available in iOS 2.0 through iOS 4.3
– connectionDidFinishLoading:  delegate method Available in iOS 2.0 through iOS 4.3

是的,它是:-)我正在制作一个类似于在线产品评级的应用程序。现在我又陷入了困境。我正在访问用户发布的所有评论。我在tableview中放置了一个问题,比如如果文本的大小更大,tableview单元格只显示一行。我正在寻找如何调整表视图的高度。我在viewDidLoad->myTableViewTwo=[[UITableView alloc]initWithFrame:CGRectMake(0,0320460)style:UITableViewStylePlain]中得到了这个结果;myTableViewTwo.dataSource=self;myTableViewTwo.delegate=self;[self.view addSubview:myTableViewTwo];和-(CGFloat)tableView:(UITableView*)tableView行高度索引路径:(nsindepath*)indepath{jsondeaildata=[responseString JSONValue];CGSize size=[[jsondeaildata objectAtIndex:indexath.row]sizeWithFont:[UIFont-systemFontOfSize:14]constrainedToSize:CGSizeMake(300500)];return size.height+10;}但我在“constrainedToSize:CGSizeMake(300500)”中得到了“SIGABRT”,控制台中的错误日志==-[\uu NSCFDictionary objectAtIndex:]:未识别的选择器发送到实例0x4c79540 2011-11-05 10:25:29.396 InstructorReview[851:bc03]***由于未捕获的异常“NSInvalidArgumentException”终止应用程序,原因:'-[\uu NSCFDictionary objectAtIndex:]:无法识别的选择器发送到实例0x4c79540'您的jsonDetailData对象实际上是一个字典。[\uu NSCFDictionary objectAtIndex:]导致异常。在进一步显示数据之前,您应该先研究一下日志语句,看看如何访问json字符串返回的所有数据。此外,你应该提出新问题,而不是在评论更改中开始新问题。如果与回答第一个问题有关,那就可以了。