2

パラメータを使用してメソッドを記述し、floatperformSelector`を使用して呼び出しようとしていますが、これを行うとエラーが発生します。以下は私のコードです:

[sender performSelector:selector withObject:progress/total];

ここでは、進捗状況と合計の両方がfloat変動します。

別のクラスで次のメソッドを呼び出そうとしています。

-(void) updateProgress:(float)fl {
    
}
4

2 に答える 2

11

intやfloatのような基本的なタイプではなく、実際のオブジェクトを渡す必要があります。

NSNumberオブジェクトにラップします。

[sender performSelector:selector withObject:[NSNumber numberWithFloat:progress/total]];

-(void) updateProgress:(NSNumber *)aProgress {
   float fProgress = [aProgress floatValue];
}
于 2010-10-16T09:10:45.257 に答える
1

これは、 Objective-Cオブジェクト-performSelector:withObject:に対してのみ機能するためです。これらの1つではありません。float

使ってみませんか

[(TheClass*)sender updateProgress:progress/total];

于 2010-10-16T09:11:25.227 に答える