在 xcode 8 beta 6 的 UITableView 中使用 indexPath.row 将无法编译
Posted
技术标签:
【中文标题】在 xcode 8 beta 6 的 UITableView 中使用 indexPath.row 将无法编译【英文标题】:Using indexPath.row in UITableView in xcode 8 beta 6 won't compile 【发布时间】:2016-08-17 05:29:06 【问题描述】:我有一个 UITableView,我可以在 xcode 8 beta 5 及更早版本中使用 indexPath.row 访问该行。当我在 beta 6 中编译应用程序时,它说
Cannot subscript a value of type 'inout[AggregatedEvents]' (aka 'inout Array<AggregatedEvents>')
一个例子是
participant?.Timestamp = String(self.items[indexPath.row].timestamp!)
据我所知,beta 6 的发行说明并未提及与此相关的更改。 AggregatedEvents 是一个结构体,参与者是一个 AWS DynamoDB 表。
【问题讨论】:
【参考方案1】:我将 indexPath.row 中的值分配给一个临时值,并将其分配给结构。这部分代码使用这些更改进行编译。原件在底部。
let participant = Participants() // Struct.
let p1: String = String(self.items[indexPath.row].timestamp!)
participant?.Timestamp = p1 as NSString
//participant?.Timestamp = String(self.items[indexPath.row].timestamp!)
【讨论】:
以上是关于在 xcode 8 beta 6 的 UITableView 中使用 indexPath.row 将无法编译的主要内容,如果未能解决你的问题,请参考以下文章
XCode 8 Beta 6 中引入的 UISlider 错误的解决方法?
Xcode 8 beta 6:AnyObject 替换为 Any:classForCoder 在哪里?
Xcode 8 beta 6 中的 performActionForShortcutItem