Ios 数组中的错误转换

Ios 数组中的错误转换,ios,arrays,swift,indexof,Ios,Arrays,Swift,Indexof,我试图在数组中查找项的索引,该数组包含我创建的名为TreeItem的结构的项,但每次尝试调用它时都会出现以下错误 Cannot convert value of type 'TreeItem' to expected argument type '@noescape (TreeItem) throws -> Bool' 你们能帮帮我吗 已编辑(添加代码): 在单独的文件中定义结构: 进口基金会 struct TreeItem { var Name = String() var Pare

我试图在数组中查找项的索引,该数组包含我创建的名为TreeItem的结构的项,但每次尝试调用它时都会出现以下错误

Cannot convert value of type 'TreeItem' to expected argument type
'@noescape (TreeItem) throws -> Bool'
你们能帮帮我吗

已编辑(添加代码): 在单独的文件中定义结构: 进口基金会

struct TreeItem {

var Name = String()
var Parent = String()
var HasSons : Bool = false
var Expanded : Bool = false
var Status : Int = 0
init( Parent: String?, Name: String?,HasSons: Bool?, Expanded : Bool?,Status : Int )
{
    self.Name = Name!
    self.Parent=Parent!
    self.HasSons = HasSons!
    self.Expanded = Expanded!
    self.Status = Status
}
}

在视图控制器中:

var ExpenseCategoryItems = [TreeItem]()
//Fill array with data

func ToggleDeleteButtonStateFunc(){
var TreeSample : TreeView = SomeData
var x = ExpenseCategoryItems.indexOf(TreeSample)
}

在最后一行代码中,崩溃不断发生。

如果您发布代码,我们可以为您提供更好的答案

如果没有代码,这里有一个猜测:您可能缺少结构的
equalable
,以及一个确定两个结构是否相等的合适函数

struct TreeItem:Equatable {
    var someProperty:String!
}

func ==(lhs: TreeItem, rhs: TreeItem) -> Bool {
    return lhs.someProperty == rhs.someProperty 
}

根据您的结构需要调整
=
函数。

如果您发布代码,我们可以为您提供更好的答案

如果没有代码,这里有一个猜测:您可能缺少结构的
equalable
,以及一个确定两个结构是否相等的合适函数

struct TreeItem:Equatable {
    var someProperty:String!
}

func ==(lhs: TreeItem, rhs: TreeItem) -> Bool {
    return lhs.someProperty == rhs.someProperty 
}

根据需要调整结构的
=
函数。

请发布一些代码。如果没有代码,很难找到错误所在。请给出它所在的代码片段crashvar x=ExpenseCategoryItems.indexOf(TreeSample)请发布一些代码。如果没有代码,很难找到错误所在的位置。请给出它所在的代码片段crashvar x=ExpenseCategoryItems.indexOf(TreeSample)