0

私のオブジェクトは次のように宣言されました:

私の.h

@interface My:NSObject{
    NSTimeInterval time;
}
@property (assign) NSTimeInterval time;
@end

私の.m

@implementation My
@synthesize time;
@end

コードのどこかに:

-(NSTimeInterval)getTimeInterval:(NSString*)timeStr
{
    NSTimeInterval interval;
    //some code
    return interval;
}


-(void) func:(NSString*)timeInterval
{
    My *my = [[My alloc] init];
    my.time = [self getTimeInterval:timeInterval];
}

ラインで

my.time = [self getTimeInterval:timeInterval];

エラーが表示されます:「'setTime' の引数 1 の型に互換性がありません」

誰が問題がどこにあるのか教えてもらえますか?

4

2 に答える 2

0

関数「getTimeInterval」は引数として文字列を取り、関数に NSTimeInterval / double を渡して警告を引き起こしていると思います。あなたはあなたを変えるべきです

-(NSTimeInterval)getTimeInterval:(NSString*)timeStr 

NSTimerInterval のパラメーターを取得します (これは、double と言う派手な方法です)。時間の文字列表現を渡して NSTimeInterval を取得する場合は、コードにバグがあるため、 timeInterval 変数を時間を含む文字列変数に変更する必要があります。

于 2011-03-07T10:30:19.207 に答える
0

これは多くの点で奇妙に思えます。

NSTimeInterval は double の単なる typedef であり、割り当てとしてのプロパティの定義が間違っていると確信しています。それを取り外して、動作するかどうかを確認してください。

于 2011-03-07T10:31:44.783 に答える