NStimeInterval ошибка свойства - PullRequest
0 голосов
/ 07 марта 2011

Мой объект объявлен следующим образом:

my.h

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

my.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];

я получаю сообщение об ошибке: "несовместимый тип для аргумента 1 'setTime'"

Может кто-нибудь сказать мне, где проблема?

Ответы [ 2 ]

0 голосов
/ 07 марта 2011

Это кажется странным во многих отношениях.

Я почти уверен, что NSTimeInterval является просто typedef для double, что делает определение свойства as assign ошибочным. Удалите его и посмотрите, работает ли он.

0 голосов
/ 07 марта 2011

Ваша функция "getTimeInterval" принимает строку в качестве аргумента, и я предполагаю, что вы передаете NSTimeInterval / double в функцию, вызывая предупреждение. Вы должны изменить свой

-(NSTimeInterval)getTimeInterval:(NSString*)timeStr 

Взять параметр NSTimerInterval (это просто фантастический способ сказать double). Если вы хотите передать строковое представление времени и получить обратно NSTimeInterval, в вашем коде есть ошибка, и вам следует заменить переменную timeInterval строковой переменной, содержащей ваше время.

...