わかりましたので、Webサーバー(PHPスクリプト)を介して通信することになっているこのプログラムがあります
テーブルのランダムIDを取得したいこのメソッドがあります。この NSURLconnection の戻りデータは、テーブル内の行数であると想定されます。
初めて呼び出すと、ランダムID変数が設定されませんが、2回目に実行すると設定されます。
可変設定:
@implementation ViewController {
NSMutableData *randomData;
int randomid;
}
ボタンの IBaction は次のとおりです。
- (IBAction)initVits:(id)sender {
[self randomID];
NSLog(@"Random ID: %d", randomid);
}
最初の出力は次のとおりです: ランダム ID: 0、2 回目: ランダム ID: 有効な ID
ランダム ID:
- (void) randomID {
NSString *url = @"http://ivitserdk.porkhost.dk/ivitserdk.php?function=randomid";
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url] cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:1.0];
connectionRandomID = [[NSURLConnection alloc] initWithRequest:request delegate:self];
randomData = [NSMutableData data];
[connectionRandomID start];
}
接続は読み込みを完了しました:
if(connection == connectionRandomID) {
NSString *String = [[NSString alloc] initWithData:randomData encoding:NSUTF8StringEncoding];
NSLog(@"Return: %@", String);
int temp = [String integerValue];
NSLog(@"temp: %d", temp);
randomid = (arc4random() % temp) + 1;
NSLog(@"Random: %d", randomid);
randomData = nil;
connectionRandomID = nil;
}
出力は常に次のとおりです。 Return: (テーブル内の行数) temp: (テーブル内の行数から int) Random: (乱数)
randomid 変数が初めて設定されないようです。
御時間ありがとうございます!