2016-08-04 58 views
0

我想知道如何将一些java代码转换成swift。我在网上看过,但我没有发现任何有用的东西。我发现j2objc,但我不知道如何让它工作。我只需要翻译一行代码。.setItemChecked在swift中的等价

     listView.setItemChecked(myArrayList.indexOf(myName); 

什么是.setItemClicked在java中相当于在swift中?

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

+0

如果你能搜索和与此关键字'UITableViewCellAccessoryCheckmark实施',让它做。否则,请在此处发布您的代码,我会帮助您。 – t4nhpt

回答

0

注:这仅适用于雨燕2.2

iOS的等效ListViewUITableViewArrayList<>的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 
+0

谢谢。这工作! – Z10987654321X