withObjectを使用しますか?もしそうなら、私はただ合格することができますか、NSNumberと言いますか?
メソッドのシグネチャにどのように表示されますか?
- (void)methodName:(NSTimer *)timer withObject:(NSNumber *)value {}
withObjectを使用しますか?もしそうなら、私はただ合格することができますか、NSNumberと言いますか?
メソッドのシグネチャにどのように表示されますか?
- (void)methodName:(NSTimer *)timer withObject:(NSNumber *)value {}
複数のデータオブジェクトを1つにカプセル化するNSArrayオブジェクトまたはNSDictionaryを使用できます。例:
NSArray * myDataArray = [NSArray arrayWithObjects:[NSNumber numberWithInt:0], [NSNumber numberWithInt:2],@"A String", nil];
[self performSelector:@selector(doStuff:) withObject:myDataArray afterDelay:1.0];
-(void)doStuff:(NSArray *)array{
NSNumber * myNumber = [array objectAtIndex:0];
NSNumber * myNumber2 = [array objectAtIndex:1];
NSString * myString = [array objectAtIndex:2];
}
プロトコルperformSelector:withObject:withObject:
で宣言されたものを使用して、最大2つのパラメーターを直接渡すことができます。NSObject
あなたの例を使用すると、セレクターはになります@selector(methodName:withObject:)
。
できません。ただし、を渡してNSDictionary
、そこから複数のオブジェクトをパックおよび抽出することはできます。
また、NSInvocation
クラスもご覧ください。