1
dorentus 2014-05-25 14:37:27 +08:00 1
大概是因为还来得及输出,你的程序就退出了……
|
2
twoconk 2014-05-25 14:38:52 +08:00 via Android 1
从代码看木有什么问题呢
|
3
txx 2014-05-25 14:40:12 +08:00 1
这样肯定不行啊...
网络请求是async的啊...你程序先结束 call back 才回来。铁定没了... 用runloop 加个锁~ |
4
dorentus 2014-05-25 14:40:53 +08:00
dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);
[manager GET:@"http://www.baidu.com/" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"JSON: %@", responseObject); dispatch_semaphore_signal(semaphore); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"Error: %@", error); dispatch_semaphore_signal(semaphore); }]; dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER); 试试这样 |
5
dorentus 2014-05-25 14:41:40 +08:00
或者直接用 NSApplication 的 runloop
|
7
txx 2014-05-25 15:05:46 +08:00
#import <Foundation/Foundation.h>
#import "AFHTTPRequestOperationManager.h" int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... NSLog(@"Hello, World!"); AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; __block BOOL flag = YES; [manager GET:@"http://www.baidu.com/" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"JSON: %@", responseObject); flag = NO; } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"Error: %@", error); flag = NO; }]; while (flag) { [[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]]; } } return 0; } 这样呢? |
8
YY OP @txx 嗯,这样有输出了
在网上看到一种方法是加下面几句,不过这种方法好像不牢靠,多次执行,有时候会没输出,你的代码应该没这个问题。感谢! int i = 0; while (i < 10) { // This executes another run loop. [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]]; i++; } |
10
kobe1941 2014-05-25 20:47:21 +08:00 1
加断点单步调试,看看有没有执行到网络部分的代码。
|
11
NUT 2014-05-26 14:24:25 +08:00 1
给你的请求后面 加一个 runloop,让他别那么快就完了。
代码如下: while(!NO){ [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]]; } 这样写当然不严谨,你可以把 NO 换成一个 BOOL 类型的变量,当请求完成以后把这个变量致‘非’。 |