iT邦幫忙

2022 iThome 鐵人賽

DAY 21
0
Mobile Development

使用 SwiftUI 讓有趣的點子變成 Apps系列 第 21

D21 - 使用 SwiftUI 讓有趣的點子變成 Apps{無限猴子打字機: 做出猴子}

  • 分享至 

  • xImage
  •  

這個猴子打字機,是思想實驗,所謂的猴子,描述的就是把字打出來的東西。第一步,我們先做出存放「每個字母」的 data structure,這個 data structure 的選擇 我這邊使用 array。

下面這邊,是字母表的宣告

private var alphabet: [String] {
    let characters = "abcdefghijklmnopqrstuvwxyz"
    var chars: [String] = []
    for char in characters {
      chars.append(String(char))
    }
    return chars
  }

再寫一個從字母表裡面隨機拿出一個字母的 func,這個「猴子」就完成了。只要呼叫 createRandomString(),就會得到一個字母。

private func createRandomString() -> String {
    return alphabet.randomElement() ?? ""
  }

不過,在前一天,我們的 UI 設定了複數個猴子,所以「猴子」不只一個。

猴子的宣告為 monkeyTyperCount

如果有 n 個 monkey 就會在 createRandomString() → String 裡面出現 n 個 String。

稍微修改一下,把他改成 n 個 String 的輸出

private func createRandomString() -> String {
    
    var resultString = ""
    
    for _ in 0..<monkeyTyperCount {
      resultString += alphabet.randomElement() ?? ""
    }
    return resultString
  }

Apple 對 randomElement() 的文件

https://developer.apple.com/documentation/swift/array/randomelement()


上一篇
D20 - 使用 SwiftUI 讓有趣的點子變成 Apps{無限猴子打字機: 專案}
下一篇
D22 - 使用 SwiftUI 讓有趣的點子變成 Apps{無限猴子打字機: 讓猴子開始敲鍵盤}
系列文
使用 SwiftUI 讓有趣的點子變成 Apps30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言