在 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

swift 3(xCode8-beta6)上的可达性问题

在 xcode 8 beta 6 的 UITableView 中使用 indexPath.row 将无法编译

Xcode 8 beta 6 UIActivityItemProvider 错误与@objc 兼容性