2014-10-16 44 views
0

我在Objective C中寫了一個類別類別,我需要在Swift中使用它。但我不知道如何聲明這個來電。如何在Swift中使用類目標C?

 var vcfPart: NSDictionary = [kSKPSMTPPartContentTypeKey:"video/quicktime;\r\n\tx-unix-mode=0644;\r\n\tname=\"video.mp4\"", kSKPSMTPPartContentTypeKey:"attachment;\r\n\tfilename=\"video.mp4\"", kSKPSMTPPartContentDispositionKey: self.rep ,kSKPSMTPPartMessageKey:"base64", kSKPSMTPPartContentTransferEncodingKey: "8bit"] 

數據是NSData類型的。我需要的NSData + Base64Additions在https://github.com/kailoa/iphone-smtp/blob/master/Classes/NSData%2BBase64Additions.m

目標C調用此編碼:

NSDictionary * vcfPart3 = [NSDictionary dictionaryWithObjectsAndKeys:@"video/quicktime;\r\n\tx-unix-mode=0644;\r\n\tname=\"video.mp4\"",kSKPSMTPPartContentTypeKey, 
          @"attachment;\r\n\tfilename=\"video.mp4\"",kSKPSMTPPartContentDispositionKey, [data encodeWrappedBase64ForData], kSKPSMTPPartMessageKey, @"base64", kSKPSMTPPartContentTransferEncodingKey, nil]; 

我不知道如何與斯威夫特的擴展聲明這個..

在如何使用這個迅速?

謝謝!

+0

「的目標C電話:」它也不能聲明實例變量在Objective-C中的類別中。此外,此代碼不能是Objective-C中的實例變量聲明,因爲它們不能具有初始值設定項。所以你所要問的很不清楚。 – newacct 2014-10-17 19:32:31

回答

1

擴展不能包含存儲性能,因爲我敢肯定,編譯器已經告訴你了。如果這實際上是一個常數,請將其表示爲computed property,您會沒事的。

換句話說,這是違法的擴展:

let i = 4 

但是,這是合法的:

var i : Int { 
    return 4 
} 
+0

我不明白你,一個例子? – user3745888 2014-10-16 23:48:37

+0

鏈接到文檔。 – matt 2014-10-16 23:56:06

+0

但我的疑問是如何調用或返回我的數據 - (NSString *)encodeWrappedBase64ForData? – user3745888 2014-10-17 00:08:09