Swift中的ios – base64EncodedStringWithOptions在编译错误时失
发布时间:2020-12-14 05:37:36 所属栏目:百科 来源:网络整理
导读:let dataStr = data.base64EncodedStringWithOptions(options: Encoding64CharacterLineLength) 不使用“使用未解析的标识符”编译Encoding64CharacterLineLength’“ 当我只是将参数改为零 let dataStr = data.base64EncodedStringWithOptions(options: 0)
let dataStr = data.base64EncodedStringWithOptions(options: Encoding64CharacterLineLength) 不使用“使用未解析的标识符”编译Encoding64CharacterLineLength’“ let dataStr = data.base64EncodedStringWithOptions(options: 0) 它给出了更陌生的错误:“无法转换”String!“类型的表达式键入’String!’“我发现了一种使用NSData初始化NSString的方法(但是,我仍然无法获得String和NSString之间的区别),但我很好奇为什么这两行代码不起作用.
除非明确给出外部名称,Swift中的方法的第一个参数不是命名参数.所以你应该这样做:data.base64EncodedStringWithOptions(x)没有选项:part.
如果您实际查看参数类型NSDataBase64EncodingOptions,您会注意到它是一个符合RawOptionSet的结构,并具有用于选项常量的静态变量.因此使用它们你应该做:NSDataBase64EncodingOptions.Encoding64CharacterLineLength NSDataBase64EncodingOptions结构(或一般的RawOptionSet)也不能从整数文字转换(如0).但它确实符合NilLiteralConvertible,所以如果你不想要任何选项,你可以通过零. 把它放在一起: let dataStr = data.base64EncodedStringWithOptions(NSDataBase64EncodingOptions.Encoding64CharacterLineLength) 要么 let dataStr = data.base64EncodedStringWithOptions(nil) Swift3.0 let dataStr = data.base64EncodedString(options: []) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |