我对Objective-C比较新,但到了那里。我正在构建一个通过NSURLRequests访问数据库的小应用程序。加载视图后,在viewDidLoad中,我执行请求以获取一些数据....
NSString *content = [@"http:/localhost/detailAPI.php?token=" stringByAppendingString:token];
content = [content stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
NSLog(content);
taskData = [[NSMutableData data] retain];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:content]];
[[NSURLConnection alloc] initWithRequest:request delegate:self];
在连接didReceiveData中,我可以处理响应并将信息放在屏幕上,释放taskData。视图的一部分是用户可以添加注释的文本字段。然后,我将注释发送到服务器,以便使用类似的结构插入数据库。
NSString *updateURL = @"http://localhost/updateAPI.php?update=task&token=";
updateURL =[updateURL stringByAppendingString:token];
updateURL =[updateURL stringByAppendingString:@"&taskname='"];
updateURL =[updateURL stringByAppendingString:taskName.text];
updateURL =[updateURL stringByAppendingString:@"'&comment='"];
updateURL =[updateURL stringByAppendingString:TaskComments.text];
updateURL =[updateURL stringByAppendingString:@"'"];
taskData = [[NSMutableData data] retain];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:updateURL]];
[[NSURLConnection alloc] initWithRequest:request delegate:self];
我的PHP脚本所做的第一件事就是获取数据并创建一个“活动”记录。在第一个请求中,我可以看到活动记录,数据被返回,并且一切对世界都有好处。有了第二个请求,我什么也没看到。该应用程序什么都不做我可以取消并返回主显示屏。我可以回到这个观点,新评论不存在。
我试过在didReceiveData处理结束时释放连接,没有变化。我尝试在第二个查询中强制启动连接,并将startImmediately设置为YES。我花了大约3个小时在谷歌和AppleDev上,并没有更明智。我知道这将是一个简单的解决方案,但我只是看不到它。
提前致谢 克里斯
答案 0 :(得分:0)
在测试这个以找到以前的错误时,我在connectionDidFinishingLoading中注释掉了连接版本。