iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 15
0

中秋節今天沒po到文 QQ

class NewCoDirectoryAdapter : EmployeeDataSource {
    private let directory:NewCoDirectory;
    
    init() {
        directory = NewCoDirectory();
    }
    
    var employees:[Employee] {
        return map(directory.getStaff().values, { sv -> Employee in
            return Employee(name: sv.getName(), title: sv.getJob());
        });
    }
    
    func searchByName(name:String) -> [Employee] {
        return createEmployees(filter: {(sv:NewCoStaffMember) -> Bool in
            return sv.getName().rangeOfString(name) != nil;
        });
    }
    
    func searchByTitle(title:String) -> [Employee] {
        return createEmployees(filter: {(sv:NewCoStaffMember) -> Bool in
            return sv.getJob().rangeOfString(title) != nil;
        });
    }
    
    private func createEmployees(filter filterClosure:(NewCoStaffMember -> Bool))
        -> [Employee] {
            return map(filter(directory.getStaff().values, filterClosure),
                {entry -> Employee in
                    return Employee(name: entry.getName(), title: entry.getJob());
            });
    }
}

上一篇
Day: 15 Chapter 11 Builder模式
下一篇
Day 5: SwiftUI 奮泳向前刻 UI
系列文
Pro Design Patterns in Swift517
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
ytyubox
iT邦新手 5 級 ‧ 2020-10-06 09:57:40

加油!雖然沒有達到鐵人的目標,文章還是可以繼續寫的!

我要留言

立即登入留言