我正在做一个小项目,我正在播放一个嵌入到我的应用程序中的可用 MP3 列表 - 一个教育应用程序。
我已尽最大努力找到答案,但我似乎找不到合适的答案,所以我通常会这样做 - 如果这是重复的,我会尽最大努力首先找到答案。
MP3 的命名与 5 个单元(每个单元 30 个章节)一致。
我正在尝试找到一种方法来存储和检索正确的章节,类似于:
学习单元#第##.mp3
我想知道存储和/或调用正确单元和章节的最佳方式是什么。
我目前使用两个表格 View 来选择单元号和章节/类(class)号。
数据被传递给播放所需 MP3 的 View ,所以我传递了两个变量,都是 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 为目标。
最佳答案
我会这样做:
import Foundation
struct Lesson {
let unit: Int
let chapter: Int
var chapterWithLeadingZeros: String { return String(format: "%02d", chapter) }
var filename: String { return "Learning Unit \(unit) Chapter \(chapterWithLeadingZeros).mp3" }
}
class LessonPlan {
var lessons = (1...5).flatMap { unit in
(1...30).flatMap { chapter in
Lesson(unit: unit, chapter: chapter)
}
}
}
print(LessonPlan().lessons)
关于arrays - Swift 3 - 存储值、元组、数组等的正确方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45286748/