2016-04-14 15 views
2

Nasıl Objective-C içine dönüştürebilirsiniz?Bu NSTimeInterval satırı nasıl Swift - Objective-C dönüştürebilirsiniz

NSDate *date = [NSDate timeIntervalSinceReferenceDate: (interval)]; 

Elbette bir hata oluşturur:

let date = NSDate(timeIntervalSinceReferenceDate: interval) 

Bu çalıştı. Ayrıca burada

bazı bağlamdır: selektör timeIntervalSinceReferenceDate için tanınan Sınıf yöntemi:

beni söyler

NSTimeInterval interval = [[NSDate alloc]init].timeIntervalSinceReferenceDate + [NSDate weekInSeconds].doubleValue; 
    NSDate *date = [NSDate timeIntervalSinceReferenceDate: (interval)]; 
    return [self isSameWeekAsDate:(date)]; 

cevap

1

timeIntervalSinceReferenceDate:NSDate sınıfına uygulanan bir yöntem değildir. Objective-C'den Swift'e köprü yaparken, Swift başlatıcılarla bazılarını yeniden adlandırıyor. Bir referans tarihi ile Objective-C bir NSDate nesneyi başlatmak için

, sınıf yöntemini dateWith... veya örnek yöntemi initWith... ya aramalıdır:

NSDate * const date = [NSDate dateWithTimeIntervalSinceReferenceDate: timeInterval]; 

ya ...

NSDate * const date = [[NSDate alloc] initWithTimeIntervalSinceReferenceDate: timeInterval]; 

let bildirimi ile Swift kodunu daha yakından eşleştirmek için burayı const ekledim.

İlgili konular