Swift ジェネリクス

Client一覧を表示

   override func viewDidLoad() {
        super.viewDidLoad()
//ObservedFetchedRoutes下記に記載
        ofRoutes = ObservedFetchedRoutes(uiRoutes)
        uiRoutes.delegate = self
        dmDISource = DmDeliveryItemsSource(uiDeliveryItems)
        uiDeliveryItems.delegate = self
    }

ジェネリクス部分

fileprivate class ObservedFetchedRoutes: ObservedFetchedData<DmClient>,UITableViewDataSource {
    /// Detail pane が有る
    var hasDetail: Bool = false
    /// 初期表示後に選択する行
    var toSelectRow: Int?
    /// アクティブ配達エリア
    var activeClient: DmClient? {
        if let areas = frc.fetchedObjects {
            let row: Int
            if let ts = toSelectRow {
                row = ts }
            else if let ir = table.indexPathForSelectedRow?.row {
                row = ir }
            else {
                return nil }
            return areas.count > row ? areas[row] : nil
        }
        return nil
    }
    /// 初期化
    init(_ table: UITableView) {
        super.init(table, cellId: "contentCell")
        table.dataSource = self
    }