iT邦幫忙

2024 iThome 鐵人賽

DAY 30
0
Mobile Development

自己的 app 自己寫系列 第 30

[Day30] 噴殺蟲劑的房間要通風多久才能住進去

  • 分享至 

  • xImage
  •  

始終如一的壓線到底和始終如一的標題詐欺,開賽的時候想過完賽的樣子但到了這一天卻覺得恍恍惚惚不太真實。
有些事會變得習慣一點,但也有些事不會容易太多。寫三十天好像沒有比前兩三天輕鬆多少,一樣需要掙扎也一樣會糾結。
可是持續得久一點,或許會在某些微小的時刻,多產生一點點繼續下去的可能吧。


最後一天繼續翻了翻昨天的專案,並嘗試用傳輸線把手機和電腦連接起來,結果想模擬時又遇到一兩週前的課金牆啦。

雖然在實體機上無法執行,不過嘗試改了下 DeviceActivityReportScene 裡面的 makeConfiguration,想看看能不能把裡面的東西存到 struct 的變數裡,然後出現了 Cannot assign to property: 'self' is immutable 的警告。

之前寫過 struct 和 class 的差別,但這次遇到才特別有感。struct 裡面是預設不允許修改 attribute 的,變數可以在初始化的時候設定,但內部的 function 如果想改變數的話要在前面加上 mutating,主動的去告知編譯器某些東西正在被修改,需要進行相應的動作。

這是因為 struct 是 pass by value,所以當 attribute 有變動,整個實例就和原先的不一樣了。而 class 因為是 pass by ref,因此就能夠比較靈活的修改內容。

而也因為 struct 是 pass by value,傳遞時相當於建立新的副本,不同 instance 之間不會互相干擾,class 則需要注意相依的問題。


完結啦老人撒花 ( ̄▽ ̄)/‧☆*"'-.,_,.-'"*-.,_☆。:.゚.:。


上一篇
[Day29] 有些事好像是始終如一的困難
系列文
自己的 app 自己寫30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言