【发布时间】:2023-03-24 19:33:01
【问题描述】:
请帮忙改一下
if let field = parent_obj?.getFieldForCode(code) {
if let stored_value = field["value"] as? String {
在单行中进入可选链接语法。我试着这样做:
let stored_value = parent_obj?.getFieldForCode(code)?["value"] as? String
得到一个错误:
Type 'String' does not conform to protocol 'NSCopying'
这是我的函数头:
func getFieldForCode(code: String) -> NSDictionary?
有可能吗?我问它是因为任何时候我使用 NSArrays 和 NSDictionaries 我的代码看起来都很糟糕:
if let code = self.row_info["code"] as? String {
if let value_field = self.row_info["value_field"] as? String {
if let field = parent_obj?.getFieldForCode(code) {
if let stored_value = field["value"] as? String {
if let fields = self.fields_set{
if let current_value = fields[indexPath.row][value_field] as? String {
有什么建议吗?
【问题讨论】:
-
我相信你只需要一些括号:
let stored_value = (parent_obj?.getFieldForCode(code))?["value"] as? String -
不,我的括号也有同样的错误...
标签: syntax swift xcode6 optional-values