swift - 函数指针的应用 - 避免重复算法

来源:互联网 发布:如何查询淘宝会员等级 编辑:程序博客网 时间:2024/05/16 13:06

swift - 函数指针的应用 - 避免重复算法。

class DataSourceBase :EmployeeDataSource {

    

   var employees = [Employee]();

   func searchByName(name:String) -> [Employee] {

       return search({e ->Bool in

           return e.name.rangeOfString(name) !=nil;

        });

    }

   func searchByTitle(title:String) -> [Employee] {

       return search({e ->Bool in

           return e.title.rangeOfString(title) !=nil;

        })

    }

    

   privatefunc search(selector:(Employee ->Bool)) -> [Employee] {

       var results = [Employee]();

       for ein employees {

           if (selector(e)) {

                results.append(e);

            }

        }

       return results;

    }

}

0 0