arrays - Swift 3 - 存储值、元组、数组等的正确方法?

标签 arrays swift swift3 tuples

我正在做一个小项目,我正在播放一个嵌入到我的应用程序中的可用 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/

相关文章:

JavaScript - 将数组中的每 3 个项目包装到一个 div 中

java - 如何在数组中创建单独的按钮名称?

ios - 我的应用程序崩溃了,并显示该类不符合使用swift编写的key tableView的键值编码

ios - 如何使用userDefaults在Swift3中保存UISegmentedControl的状态

javascript - 在 JavaScript 中使用 "holes"遍历数组

ios - Xcode 在另一个 ViewController 中打开 WebView

json - 如何在 Swift 中解码 HTML 实体?

swift - 将最后一个自定义collectionViewcell添加到collectionView swift 3

swift - 如何在 Collection View 单元格中添加 uibutton 操作?

java - 它告诉我 NullPointerException 的原因