用三元运算符进行重构

时间:2018-08-10 09:03:52

标签: swift if-statement methods

这是我的代码,实际上可以按我期望的方式工作:

static func imageName(for page: Int, isThumbnail: Bool) -> String {
    return isThumbnail ? "\(page)_thumb.jpg" : "\(page).jpg"
}

static func writeImageFile(with data: Data, issue: Issue, page: Int) throws -> URL {
    let path = MediaFileManager.issueImagesDirectoryURL(issue: issue)
    let imagePath = path.appendingPathComponent("\(imageName(for: page, isThumbnail: false))")
    let thumbPath = path.appendingPathComponent("\(imageName(for: page, isThumbnail: true))")
    try data.write(to: imagePath)
    try data.write(to: thumbPath)

    return path
}

我想要相同的结果: -创建2个附加到主路径的常量 -将2个数据写入这2条路径

是否可以重构writeImageFile()?

1 个答案:

答案 0 :(得分:0)

首先,将字符串插值应用于字符串是多余的。

如果要根据gcloud alpha firestore import --collection-ids='[COLLECTION_ID_1]','[COLLECTION_ID_2]' gs://[BUCKET_NAME]/[EXPORT_PREFIX]/一次写入数据,则必须将其添加为参数

isThumbnail