我有一個具有許多視圖的應用程序(使用標籤欄控制器)。我想創建併發的異步http請求,與用戶正在查看的當前視圖無關。當一個http請求被響應時,我想更新用戶界面,然後再次請求。如果我在UIViewController子類中編寫代碼,一切正常。在哪裏可以編寫我的代碼以便工作,而不必知道用戶正在查看哪個標籤?我想避免使用線程。那可能嗎?背景中的多個異步HTTP請求iPhone
我做了一個web服務,它接受http請求並在它有新的東西時作出響應。所以,然後我要求提供新的信息,然後我重新打開Web服務的窗口與我交談。這樣我就可以建立一個「永久」連接。
最後,我想知道,什麼是最好的方式告知我的模型將作出的變化。 NSNotification?代表團?
UPDATE
下面的代碼不接收任何響應。它收到BAD_ACCESS並且崩潰。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
// Request Data
ConnectionHandler *connectionHandler = [[ConnectionHandler alloc] init];
[connectionHandler requestSO];
[connectionHandler requestSopen];
// Make Root View Controller
MainViewController *mainViewcontroller = [[MainViewController alloc] initWithNibName:@"MainViewController" bundle:nil];
[self.window setRootViewController:mainViewcontroller];
//
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
return YES;
}
上看到Apple的示例XMLPerformance爲什麼要避免線程出錯? – 2012-02-29 12:36:11
在單獨的後臺線程(在主線程之外)運行您的請求會使您的應用程序用戶界面響應。如果你的UI由於在主線程中運行了所有進程而非常不響應,那麼你的應用可能會被OS所殺,並且至少你的用戶會對它進行評估/評估。請參閱http://www.raywenderlich.com/4295/multithreading-and-grand-central-dispatch-on-ios-for-beginners-tutorial – ader 2012-02-29 13:13:36