【问题标题】:Swift :Issue with increment Int inside StringSwift:String 内的 Int 增量问题
【发布时间】:2017-12-18 19:21:27
【问题描述】:

我正在尝试增加 String 内的 Int 值,但我不明白为什么增加只会发生一次!这是代码:

class DownloadFile : NSObject {

  var number = 1
init(url : String) {

    urlOfDownload = url
    fileUrl = URL(string: url)!


    //Added by me , checks if file is already exist try to add new file name
    let path = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first! as String
    let url = NSURL(fileURLWithPath: path)
    let filePath = url.appendingPathComponent(fileUrl.lastPathComponent)!.path
    let fileManager = FileManager.default
    if fileManager.fileExists(atPath: filePath) {


            number += 1

        print("FILE AVAILABLE")
        nameOfDownload = "\(fileUrl.deletingPathExtension().lastPathComponent)\(number).\(fileUrl.pathExtension)"

    } else {

        print("FILE NOT AVAILABLE")
        nameOfDownload = fileUrl.lastPathComponent
    }

}

}

使用类:

let downloadFile = DownloadFile(url: url)
    downloadFile.startDownload()

【问题讨论】:

  • 您将 number 设置为 1,然后将其递增为 2。您期望从中得到什么行为?
  • @ConnorG 每次我启动课程时,数字都应该增加,例如 File1 、 File2 、 File3

标签: ios swift string int


【解决方案1】:

你需要让你的varstatic在类实例之间共享它:

class DownloadFile : NSObject {

    static var number = 1
    init(url : String) {
        ...
        DownloadFile.number += 1
        ...
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-13
    • 1970-01-01
    相关资源
    最近更新 更多