Objective c 如何将目标c中的NSDictionary转换为Swift?

Objective c 如何将目标c中的NSDictionary转换为Swift?,objective-c,xcode,swift,Objective C,Xcode,Swift,我在Objective c类中有这个NSDictionary,当我尝试转换为Swift时,我在appendString nil参数中得到错误未捕获异常 NSDictionary *plainPart = [NSDictionary dictionaryWithObjectsAndKeys:@"text/plain; charset=UTF-8",kSKPSMTPPartContentTypeKey,data,kSKPSMTPPartMessageKey,@"8bit",kSKPSMTPPart

我在Objective c类中有这个NSDictionary,当我尝试转换为Swift时,我在appendString nil参数中得到错误未捕获异常

 NSDictionary *plainPart = [NSDictionary dictionaryWithObjectsAndKeys:@"text/plain; charset=UTF-8",kSKPSMTPPartContentTypeKey,data,kSKPSMTPPartMessageKey,@"8bit",kSKPSMTPPartContentTransferEncodingKey,nil];

  testMsg.parts = [NSArray arrayWithObjects:plainPart,nil];
尝试筛选:

  var plainPart: NSDictionary = ["text/plain; charset=UTF-8":kSKPSMTPPartContentTypeKey, self.data: kSKPSMTPPartMessageKey, "8bit": kSKPSMTPPartContentTransferEncodingKey]

    msg.parts = [plainPart]
代码转换中有什么错误

谢谢

试试这个:

var plainPart: NSDictionary = ["text/plain; charset=UTF-8":kSKPSMTPPartContentTypeKey, self.data: kSKPSMTPPartMessageKey, "8bit": kSKPSMTPPartContentTransferEncodingKey,nil]

我还引入了一个异常,在添加nil作为最后一个参数后,异常消失了。

看起来您可能会将键和值向后放置。试试这个:

var plainPart: NSDictionary = [kSKPSMTPPartContentTypeKey: "text/plain; charset=UTF-8", kSKPSMTPPartMessageKey: self.data , kSKPSMTPPartContentTransferEncodingKey : "8bit"]

什么是“自我数据”?一个字符串?可能是因为这个字符串是空的?我声明这个:var data=“”,然后是一个类似“some_word”的字符串。不是空的。我回答的是字符串类型,抱歉