【发布时间】:2017-08-18 19:20:52
【问题描述】:
我有一个结构对象数组。这些对象具有标题属性(字符串)和位置属性(位置类型)。
我想要的是将从 location 属性和具有另一个现有 Location 对象的 distance 函数派生的距离的 double 值附加到 title 属性。这是我正在使用的代码:
self.myList.map({$0.title.append("\($0.location.distance(from: location!)/1000)")})
这里的问题是 map 函数返回一个新数组,但是,我需要对现有数组进行更改,因为我使用这个数组作为我的 UITableView 的数据源。另一个问题是,尽管我将 title 属性设为 var,但我总是被告知以下错误消息:
Cannot use mutating member on immutable value: '$0' is immutable.
谁能弄清楚如何做到这一点?
【问题讨论】:
-
将结果重新分配给
self.myList -
@Alexander 我该怎么做?
-
self.myList = self.myList.map({$0.title.append($0.location.distance(from: myLocation!)/1000)}) -
等等,你为什么在
map中调用append?append什么也不返回 (Void) -
我正在尝试将一个字符串添加到现有的字符串属性中。