我正在開發一個小型項目,我正在播放可嵌入到我的應用程序中的可用MP3列表 - 一個教育應用程序。Swift 3 - 存儲值,元組,數組,其他的正確方法?
我試過最難找到答案,但我似乎無法找到適合的東西,所以我平時的事情 - 如果這是一個重複我已經搜索我最難找到的東西第一。
MP3的名稱與每個30章的5個單元重合。
我試圖找到一種方法來存儲和檢索糾章,類似於:
學習單元###章MP3
我想知道什麼是最好的方式來存儲和/或呼叫正確的單位和章節。
我目前使用兩個表視圖來選擇Unit#和Chapter/Lesson#。
該數據被傳遞到播放所需MP3的視圖,所以我傳遞了兩個變量,都是Int。
我在這裏嘗試了,我知道的是完全錯誤的,應說明什麼我想(希望)做:
import Foundation
class LessonPlan {
var lessonMatrix = [(unit:Int,chapter:Int,filename:String)];
init() {
for unitNo in 1 ... 5 {
for chapterNo in 1 ... 30 {
chapterWithLeadingZeros = String(format: "%02d", chapterNo)
lessonMatrix.append(unit:unitNo, chapter:chapterNo, filename:"Learning Unit \(unitNo) Chapter \(chapterWithLeadingZeros).mp3")
}
}
}
}
我知道上面沒有編制,但其我的思維過程。
感謝您提供任何方向。
Swift3/Xcode 8.3.1,試圖定位iOS9。
我建議你做一個新的結構類型,而不是使用元組。 – Alexander
你的主要問題是'[(unit:Int,chapter:Int,filename:String)]'是* type *(等於'Array <(unit:Int,chapter:Int,filename:String)>') 。你想要做的是創建一個新類型的實例,比如'Array <(unit:Int,chapter:Int,filename:String)> .init()'。這可以簡寫爲'Array <(unit:Int,chapter:Int,filename:String)>()',甚至是'[(unit:Int,chapter:Int,filename:String)]()' – Alexander