Swift

2016-04-12 21 views
0

'da bir Object-C yönteminin bildirilmesinde yer alma Swift'de yazdığım iOS uygulamam ile FCOfflineQueue (çevrimdışıyken ağ isteklerini sıraya almak için kalıcı bir çerçeve) kullanmaya çalışıyorum. Sorun Swift bu ilan yaşıyorum, FCOfflineQueue sınıf alt sınıf ve ben FCOfflineQueue gelen subclassed kendi kuyruğundan benim subclass-Swift

- (BOOL)executeOperation:(int64_t)opcode userInfo:(NSDictionary *)userInfo; 

aşağıdaki yöntemi geçersiz gerekiyor. Aşağıdakileri yapıyorum - bu yöntem, üst sınıftan herhangi bir yöntemi geçersiz kılmıyor diyor- diyor.

yapmam Bunun yerine O seçici ile 'executeOperation: UserInfo:' geçersiz kılma yöntemi says-

aşağıdaki-

@objc override func executeOperation(opcode: Int64, userInfo: NSDictionary) -> Bool 
uyumsuz türü '(Int64, NSDictionary) -> Bool' diye düşündüm

int64_t, Swift'de Int64 eşdeğerdir. Dönüşümle ilgili bir şey mi?

Herhangi bir yardım için teşekkür ederiz.

cevap

0

böyle geçersiz kılmak için deneyin: Bir Swift sözlüğe parametreli türleri bir NSDictionary nesneden köprü, ortaya çıkan Sözlük tip [NesneTürü] taşımaktadır

override func executeOperation(opcode: Int64, userInfo: [NSObject : AnyObject]!) -> Bool { 
    return false 
} 

. Bir NSDictionary nesnesi, parametrelenmiş türlerini belirtmezse, [NSObject: AnyObject] türünde bir Swift sözlüğüne köprülenir.

hile yaptı

https://developer.apple.com/library/mac/documentation/Swift/Conceptual/BuildingCocoaApps/WorkingWithCocoaDataTypes.html

+0

! Bir ton teşekkürler. – Subzero

+0

rica ederim :) –