Я хочу, чтобы пользователь знал, что приложение загружает данные, поэтому я попробовал все.
Я просто добавил новое представление с именем LoadingData и поместил его в свой делегат:
- (void)applicationDidFinishLaunching:(UIApplication *)application {
LoadingData *loadingDataView = [[LoadingData alloc] initWithNibName:@"LoadingData" bundle:nil];
[window addSubview:[loadingDataView view]];
[window makeKeyAndVisible];
Connection *connection = [[Connection alloc] init];
[connection getUserDefaults];
[window addSubview:[navigationController view]];
[window makeKeyAndVisible];
}
Это означает, что я хочу, чтобы представление отображалось до тех пор, пока соединение с асинхронным запросом не будет завершено .....
Я только что попробовал все, пожалуйста, помогите.Но каждый раз, когда асинхронный запрос блокирует все в представлении
Но я все равно сначала вижу пустую страницу и не
@ albertamg
Это мой метод подключения:
-(BOOL) connectAsync
{
// ==== BEGIN DEBUGGING OUTPUT
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:
self.url];
[request setTimeoutInterval:20];
NSLog(@"request : %@", request);
// [request setValue:agentString forHTTPHeaderField:@"User-Agent"];
NSError *error = nil;
NSURLResponse *response = nil;
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSLog(@"Connection Error: %@", error);
//NSLog(@"Code: %@", [error code]);
NSLog(@"UserInfo: %@", [error userInfo]);
NSLog(@"Domain: %@", [error domain]);
NSLog(@"HelpAnchor: %@", [error helpAnchor]);
NSLog(@"Connection Response: %@", response);
if(error !=nil)
{
return NO;
}
else
{
NSString *returnData = [[NSString alloc] initWithBytes: [data bytes] length:[data length] encoding: NSUTF8StringEncoding];
NSLog(@"returnData: %@", returnData);
// === END DEBUGGING OUTPUT
return YES;
}
}
Я постараюсь использовать Threads в качестве следующего шага, спасибо JAson Cragun, я напишу как можно скорее, сработало или нет ....
Так что я все ещеУ меня проблема с этим ....
Вот мой код для приложения Applelegate, я сначала запускаю представление «Загрузка данных» и запускаю другое представление, как только завершается поток .....
Но все еще пустая страница, почему, черт возьми, он все еще не работает с темой?Я знаю, что мой код не самый лучший, но сначала я хочу его протестировать:
- (void)applicationDidFinishLaunching:(UIApplication *)application {
LoadingData *loadingDataView = [[LoadingData alloc] initWithNibName:@"LoadingData" bundle:nil];
[window addSubview:[loadingDataView view]];
[window makeKeyAndVisible];
Connection *connection = [[Connection alloc] init];
[connection getUserDefaults];
NSThread *connectThread = [[NSThread alloc] initWithTarget:(connection) selector:@selector(connectAsyncThread) object:nil];
[connectThread start];
while ([connectThread isExecuting])
{
NSLog(@"WAit for Thread.....");
}
if (![connectThread isExecuting]) {
[window addSubview:[navigationController view]];
[window makeKeyAndVisible];
}
}