使用NSURLConnection发送HTTP GET请求

时间:2014-04-20 03:41:08

标签: objective-c ios7 xcode5

我是这个网站的新手,并决定问一个一直困扰我的问题。我正在开发一个应用程序,该应用程序需要一个日历,该日历可以获取在网站上发布的事件。我是使用XCode和Objective C的新手,但我一直在使用iOS 7编程手册来帮助我解决任何问题。但是,我遇到的问题是GET请求,正如标题所说,我似乎找不到任何处理这个确切问题的东西。

AppDelegate.m

- (BOOL) application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
        NSString *urlAsString = <# Place the URL of the web server here #>; //This area is the problem
        urlAsString = [urlAsString stringByAppendingString:@"?param1=First"]; //Along with this
        urlAsString = [urlAsString stringByAppendingString:@"&param2=Second"]; //And this
        NSURL *url = [NSURL URLWithString:urlAsString];
        NSMutableURLRequest *urlRequest =
            [NSMutableURLRequest requestWithURL:url];
        [urlRequest setTimeoutInterval:30.0f];
        [urlRequest setHTTPMethod:@"GET"];
        NSOperationQueue *queue = [[NSOperationQueue alloc] init];
        [NSURLConnection
         sendAsynchronousRequest:urlRequest
         queue:queue
         completionHandler:^(NSURLResponse *response,
                             NSData *data,
                             NSError *error) {
if ([data length] >0 && error == nil){ NSString *html =
                 [[NSString alloc] initWithData:data
                                       encoding:NSUTF8StringEncoding];
                 NSLog(@"HTML = %@", html);
             }
else if ([data length] == 0 && error == nil){ NSLog(@"Nothing was downloaded.");
}
else if (error != nil){
    NSLog(@"Error happened = %@", error);
         }
     }];
    self.window = [[UIWindow alloc] initWithFrame:
                   [[UIScreen mainScreen] bounds]];
self.window.backgroundColor = [UIColor whiteColor]; [self.window makeKeyAndVisible];
return YES;

这是给我问题的代码。每当我将我正在测试的URL放入该部分时,我会收到一条警告:“变量'urlAsString'在其自己的初始化中使用时未初始化。”我还得到一个“Receiver in消息表达式是一个未初始化的值。“这导致我在尝试运行应用程序时遇到此错误”发生错误=错误域= NSURLErrorDomain代码= -1000“错误的URL”UserInfo = 0x9626bf0 {NSUnderlyingError = 0x962c9d0“错误的网址”,NSLocalizedDescription =错误的网址}“

当我尝试使用以下代码运行它时:

NSString *urlAsString = @"URL here";

它有效,但不能满足我的需要。

我做错了什么?我正在按照这本书告诉我要做的事情,但我一直在接受这些警告。任何帮助,将不胜感激!感谢

0 个答案:

没有答案