我想知道如何将一些java代码转换为swift。我看过网上但我没有找到任何有用的东西。我找到了j2objc,但我不知道如何让它工作。我只需要翻译一行代码。
listView.setItemChecked(myArrayList.indexOf(myName);
什么是.setItemClicked在java中等同于swift?
简单地说,我有一个列表视图,如果从Parse查询对象并且它是真的,则在列表视图中的对象旁边放置一个复选标记。但我不知道如何在列表视图中检查某些内容而不点击swift中的项目。如何在列表视图中显示复选标记而不必单击列表视图中的项目?
答案 0 :(得分:0)
注意:这仅适用于Swift 2.2
相当于ListView
的iOS UITableView
。 ArrayList<>
的Swift等效值为Array
。并且在iOS API中没有setItemChecked
这样的方法。
我能想到的最接近的是UITableViewAccessoryCheckmark
。但是,您也可以在表格单元格中放置UISwitch
并将其on
属性设置为true。
让我向您展示如何将表格单元格的附件类型设置为UITableViewAccessoryCheckmark
,或者使用Swift术语.Checkmark
。
首先,您需要获取表格单元格。要获得它,您需要NSIndexPath
。 NSIndexPath
基本上是一个对象,用于描述单元格所在的哪个部分和哪一行。假设您的表视图只有一个部分,您可以创建一个这样的索引路径:
let indexPath = NSIndexPath(
forRow: myArray.indexOfObject(myName),
inSection: 0)
请注意,当对象不在数组中时,indexOfObject
将返回一个奇怪的数字。如果同一个对象多次出现在数组中,它将返回第一个外观的索引。
现在您有一个索引路径,您现在可以获取该单元格:
let cell = tableView.cellForRowAtIndexPath(indexPath)
然后,只需设置accessoryType
属性:
cell?.accessoryType = .Checkmark