ぜん通。

<ぜんつう>ネトゲとかソシャゲとか、雑記。

   

【iPhoneアプリ開発】データのロードとロード中のAlert表示

データのロードとロード中のAlert表示

①Viewが表示されたらWeb上のデータを取得しに行く
②データ取得している間はAlertを表示する。
③データが取得し終わったらAlertを消す。



@implementation RootViewController
 
- (void) viewDidLoad {
 
 
alert = [[UIAlertView alloc] initWithTitle:@"Loading..." message:nil delegate:nil cancelButtonTitle:nil otherButtonTitles:nil];
// ロード中...のAlertを生成
spinner = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(126.0f, 80.0f, 30.0f, 30.0f)];
// Alertの上に載せるUIActivityIndicatorView(クルクル)を生成
[alert addSubview:spinner];
// Alertの上にクルクルを配置
[spinner startAnimating];
// クルクル開始
[alert show];
// ロード中Alertの表示
[self performSelector:@selector(dismissAlert:) withObject:alert afterDelay:0.1];
// Alertが表示されてから0.1秒後にdismissAlertをコールする(非同期にするために直接呼ばない)
}
 
 
/* ロード中のAlert表示中に呼ばれるメソッド */
- (void) dismissAlert :(UIAlertView*) _alert {
 
  NSURL *url = [NSURL URLWithString:@"http://○○○○○○○○○.txt"];
    NSError *error = nil;
    NSURLResponse *urlResponse = nil;
    NSData *contentData = [NSURLConnection sendSynchronousRequest: [NSURLRequest requestWithURL: url]
returningResponse: &urlResponse
error: &error];
    if (error != nil || [contentData isEqual:nil]) {
        NSLog(@"Fetch Error", [error localizedDescription],@"OK", nil, nil);
 
alertError = [[UIAlertView alloc] initWithTitle:@"Load Error" message:nil delegate:nil cancelButtonTitle:nil otherButtonTitles:@"OK",nil];
[alertError show];
[alertError release];
 
    }else {
 
NSLog(@"ロードデータ:%@",contentData);
[alert dismissWithClickedButtonIndex:alert.cancelButtonIndex animated:YES];
//ロード中Alertの消去
[alert release];
//Alertのリリース
}
}

拍手[0回]

COMMENT

NAME
TITLE
MAIL(非公開)
URL
EMOJI
Vodafone絵文字 i-mode絵文字 Ezweb絵文字
COMMENT
PASS(コメント編集に必須です)
SECRET
管理人のみ閲覧できます

TRACKBACK

Trackback URL:

カウンター

マジモン窓

プロフィール

HN:
Zenchuu
性別:
男性
職業:
えんじにあ
自己紹介:
いわゆるオタク系。
HNのzenchuuは子供のころからのあだ名。
iPhoneアプリの制作〜運用を仕事にしてます。
人間強度は最高レベルだと自負。
友達?要らねーよヽ(´ー`)ノ

Twitter

いろいろ

Copyright ©  -- ぜん通。 --  All Rights Reserved
Design by CriCri / Photo by Geralt / powered by NINJA TOOLS /  /