swset中的.setItemChecked等价

时间:2016-08-04 02:27:03

标签: java swift xcode android-studio

我想知道如何将一些java代码转换为swift。我看过网上但我没有找到任何有用的东西。我找到了j2objc,但我不知道如何让它工作。我只需要翻译一行代码。

                        listView.setItemChecked(myArrayList.indexOf(myName);

什么是.setItemClicked在java中等同于swift?

简单地说,我有一个列表视图,如果从Parse查询对象并且它是真的,则在列表视图中的对象旁边放置一个复选标记。但我不知道如何在列表视图中检查某些内容而不点击swift中的项目。如何在列表视图中显示复选标记而不必单击列表视图中的项目?

1 个答案:

答案 0 :(得分:0)

注意:这仅适用于Swift 2.2

相当于ListView的iOS UITableViewArrayList<>的Swift等效值为Array。并且在iOS API中没有setItemChecked这样的方法。

我能想到的最接近的是UITableViewAccessoryCheckmark。但是,您也可以在表格单元格中放置UISwitch并将其on属性设置为true。

让我向您展示如何将表格单元格的附件类型设置为UITableViewAccessoryCheckmark,或者使用Swift术语.Checkmark

首先,您需要获取表格单元格。要获得它,您需要NSIndexPathNSIndexPath基本上是一个对象,用于描述单元格所在的哪个部分和哪一行。假设您的表视图只有一个部分,您可以创建一个这样的索引路径:

let indexPath = NSIndexPath(
    forRow: myArray.indexOfObject(myName), 
    inSection: 0)

请注意,当对象不在数组中时,indexOfObject将返回一个奇怪的数字。如果同一个对象多次出现在数组中,它将返回第一个外观的索引。

现在您有一个索引路径,您现在可以获取该单元格:

let cell = tableView.cellForRowAtIndexPath(indexPath)

然后,只需设置accessoryType属性:

cell?.accessoryType = .Checkmark