1

パラメータを渡すためにユーザー情報が使用されることは知っていますが、これらを複数渡すにはどうすればよいですか?

私はオブジェクトを使用する必要があると推測していますが、私はobjective-cにかなり慣れていないので、これが正しいかどうか、どうすればよいかわかりませんか?

ありがとう!

4

1 に答える 1

4

渡す必要がある複数のオブジェクトを使用してラッパー オブジェクトを作成し、そのラッパー オブジェクトを にNSArray渡します。受信側で、ラッパー オブジェクトからオブジェクトを取得します。NSDictionaryuserInfo

ラッパーに NSDictionary を使用するコード例:

呼び出しコード:

NSString *obj1 = @"string1"; 
NSString *obj2 = @"string2"; 
NSDictionary *wrapper = [NSDictionary dictionaryWithObjectsAndKeys:obj1, @"Object1", obj2, @"Object2", nil];
[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timerFireMethod:) userInfo:wrapper repeats:NO];

タイマーコードの受信:

- (void)timerFireMethod:(NSTimer*)theTimer {
    NSDictionary *wrapper = (NSDictionary *)[theTimer userInfo];
    NSString * obj1 = [wrapper objectForKey:@"Object1"];
    NSString * obj2 = [wrapper objectForKey:@"Object2"];
    // ...
}
于 2012-03-01T12:08:15.647 に答える