objective-c - 如何在 Swift 中使用 Objective C 的类类别?

标签 objective-c xcode swift

我有一个用 Objective C 编写的类类别。我需要在 Swift 中使用它。但我不知道如何声明这个调用。

      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 对其进行编码

在 objective-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];

我不知道如何在 Swift 中使用扩展来声明它..

如何在 Swift 中使用它?

谢谢!

最佳答案

扩展不能包含存储的属性,因为我确信编译器已经通知您了。如果这实际上是一个常量,请将其表示为 computed property你会没事的。

换句话说,这在扩展中是非法的:

let i = 4

但这是合法的:

var i : Int {
    return 4
}

关于objective-c - 如何在 Swift 中使用 Objective C 的类类别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26415410/

相关文章:

ios - 录制时实时上传音频片段?

iPhone/iPad 旋转

xcode - Swift:具有 "for in loop",其中范围由 return 语句确定

ios - UIViewPropertyAnimation Objective C 问题

swift - 如何将 Firebase 数据库附加到我的对象,从较近的项目到较远的项目?

objective-c - fetchedResultsController 没有正确更新第一行

iphone - UIWebView 不调用 UIScrollViewDelegate 方法

iphone - 将值附加到 NSMutableArray 并保存到 NSUserDefaults

swift - 推送到 git 后链接的 FrameWork 和库变灰

ios - SpriteKit,把一个进程放在另一个核心上?