Tuesday, December 19, 2023

一層又一層的 protocol

當資料來源的格式有異動時,可以利用 protocol + associatedtype  + extension (如果摸不到 struct 尤其需要,摸得到可以在 struct 內繼承,也還是可以用 extension)

去做深層的 protocol

用來達成透過 protocol 取值,不用判斷 source 為何~



protocol Vendor {

    var venderId: Any { get }

    associatedtype BrandType: Brand

    var brands: [BrandType] { get }

}


protocol Brand {

    var name: String { get }

}



extension BrandA: Brand{}

extension BrandB: Brand{}


extension VenderA: Vendor {

    

    var venderId: Any { self.id }

    typealias BrandType = BrandA

}


extension VenderB: Vendor {

    

    var venderId: Any { return self.id }

    typealias BrandType = BrandB

}



func processVendor<T: Vendor>(_ vendor: T) {

    

    print("Processing vendor with id: \(vendor.venderId)")

    

    for brand in vendor.brands {

        print("Brand name: \(brand.name)")

    }

}

Tuesday, October 24, 2023

民主家庭/權力分析 作業#1

我帶大寶上課,要先去早餐店吃早餐,我讓他就菜單點,他先挑飲料 1,說要豆漿

我知道那個是含糖的,跟他商量說你知道含糖飲料不好,無糖的比較健康喔

他改選鮮奶,冰的,我說溫的啦~他很堅持冰的,我說好吧,那去冰喔,不會有冰塊,他說好。(我的心裡不蘇胡),然後在菜單上用紅色的蠟筆做記號


接著點花生吐司(我心裡又有不蘇湖的感覺),你點了澱粉 2,那蛋白質 3 呢?他說:起司蛋餅!我提示他蛋餅的照片,指著起司蛋餅的文字讓他做記號。

接著點要帶去學校當下午點心 4 的貝果,做好記號後,我說可以在旁邊寫『ㄨㄞˋ』,這樣老闆知道要裝起來讓我們帶走

他寫上外的注音後,接著要寫帶,我說:寫一個字就好了啦~但馬上改口說:喔~好啦,也可以,多練習。
看他他寫好後我說:真漂亮!他說哪有~我說:我的字很醜,不信喔?我寫給你看~

寫完他說:你都沒有按照筆劃~我說:我有啦,只是醜醜的(我有按照筆順,但沒有按照筆劃,我在寫這篇紀錄的時候才知道他當時是對的,我講錯詞了XD)

我畫上我的早餐後,去櫃檯結帳,金額是 236


等餐點的時候,他把忍者裝的帽子戴起來,我好奇問他:可以在學校要戴這個嗎?他回答:我也不知道。我利用空擋跟他討論週末的安排 5 ,他說想跟班上同學去公園玩,我說,好啊~可以用你搜集到的安全超能量表的愛心來兌換,他問為什麼,我說這是獎勵啊~你需要我幫忙聯絡對吧?然後上餐了~他很開心地戳裝在 500cc 手搖飲料杯裡八分滿的鮮乳坊牛奶喝,喝了幾口,花生吐司跟蛋餅裝在盤子上也送來了,他開始徒手吃吐司,我想到他剛剛有用手穿鞋子,我覺得手有點髒,

跟他說:你要用酒精清潔手後拿餐具吃 6 吧~他提醒我有廁所可以洗手,我說好啊~你願意洗的話

結果他只噴了酒精就要徒手拿花生吐司啃,我說:你... 好吧,你的肚子...

然後他吃快一半的花生吐司,就說吃不下了 7。我說:你還有蛋餅沒有動欸~他說真的吃不下了

我想到蛋白質攝取不足的這段字,然後再想到要尊重他的想法,雖然心裡的不蘇胡有很多,我還是壓下去,想著讓他開心的去學校


接著拎著打包起來的早餐陪他走到學校,他特別挑要走另一個路口 8,說是可以多拿走路上課的獎勵貼紙

拿到貼紙後,我陪他走到校門口,在門口的校長看到他笑笑的說:哎呦,蜘蛛人嗎?我跟著微笑,然後他就筆直地走進去了!(咦,就這樣?那個擁抱咧?)我趕緊說掰掰,他才回頭跟我說掰掰

我看到高年級在校門口拎著一袋貼紙,我開口喊他說:你說要多拿貼紙啊!他回答:我手上有啦~


我心裡想著:所以只有一張啊~~~~~~,哪裡多了~~~~

走回家的路上,我在心疼買了一百多塊的早餐(扣除點心跟我的早餐),結果只攝取到幾口牛奶跟花生吐司,剩下這些要讓他當放學後的點心!

結果回家後蛋餅被阿牛吃掉一半,我在換牛奶的容器時沾到咖啡,只好暗自安排要給先生喝了(我不喝牛奶)

原本要留給他的點心剩下半塊的花生吐司,心疼的感覺好像就沒那麼多了,但仔細想想那個點心跟牛奶的 cp 真的很低.... /___\


我記錄到 8 個選擇,屬於『聽我的』,標為紅色屬於『聽小孩的』,標示為藍色
裡面有七項是我提出的問題,有一項是他提出的並決定的,有兩項我不太能確定算是聽誰的。我覺得相比之下,我提了好多問題。


  1. 我影響了飲料的選擇
  2. 他選擇了澱粉
  3. 我提醒蛋白質
  4. 已經是慣例的下午點心
  5. 我提供可能的週末活動
  6. 我影響用餐的方式
  7. 他決定吃飽了
  8. 他決定上學路線

  • 我在想難道是在我提醒蛋白質的時候,他不想吃,卻不跟我說,敷衍我挑了起司蛋餅,才會一口都沒動....?
  • 慣例的下午點心是先前被我影響下的選擇,之後好像就習慣?還是麻痺的這樣選了,也許可以問他有沒有想成別的點心
  • 再次閱讀發現我有影響到用餐的方式
  • 再次閱讀,如果用很嚴格的方式來看,幾乎可以說我有跟他協商怎麼樣算吃飽了...

如果把無法判別的當成『聽我的』,這樣小孩有 37 % 的自由度
如果用很嚴格的標準來評分,小孩只有 20 % 的自由度

Thursday, October 19, 2023

OS level on android / iOS

 



https://developer.apple.com/support/app-store/

Tuesday, October 10, 2023

swiftUI Architecture

https://www.one-tab.com/page/p2POKsuvRvy78QHWU1QgTA

circular slider

https://www.one-tab.com/page/xmTnylosTTuWwrIhjRzQ5Q

Tuesday, September 12, 2023

iOS Architecture

 TCA

https://github.com/pointfreeco/swift-composable-architecture


RIBs

https://github.com/uber/RIBs


SwiftUI + Combine

https://github.com/nalexn/clean-architecture-swiftui

jitpack

 https://jitpack.io/


記得把 package name 換成 gitlab url ~