2016-07-29 2 views
0

Xcode 7.3.1、Swift 2インクリメント記録されたオーディオファイル名

記録されたオーディオのファイル名を設定する次のコード行がビューコントローラにあります。各ファイルに固有の名前が付いていますが、私はそれがもっと短くなることが本当に好きです。すでに存在する場合は、ファイル名を1つインクリメントしたいと思います。

これを適切に調べるための適切な用語がわからないので、あなたの誰かが正しい方向に私を向けることができれば幸いです。

// Set the default audio file 
    let audioFileURL = directoryURL.URLByAppendingPathComponent("PWAC_" + NSUUID().UUIDString + ".m4a") 

答えて

2

repeatループが行います:あなたはIDを実行し続けるためにNSDefaultを使用することができます

var index = 0 
var audioFileURL: NSURL! 

repeat { 
    index += 1 
    audioFileURL = directoryURL.URLByAppendingPathComponent("PWAC_\(index).m4a") 
} while NSFileManager.defaultManager().fileExistsAtPath(audioFileURL.path!) 
+0

これは簡単なアプローチであり、非常にうまく機能します。ありがとうございました – Bill

1

。アプリが終了しても、あなたのアプリに永久に保存されます。例えば

ここで、私は静的関数を持つクラスを使用します。

class FileUtil { 

    let key = "runningId" 

    static func getRunningID() { 
     let prefs = NSUserDefaults.standardUserDefaults() 
     // set initial value if first time 

     if var runningid = prefs.valueForKey(key) as? Int{ 
      print("current id: \(runningid)") 
      // increase by 1 and return 
      runningid += 1 
      // dont forget to save back after increment 
      prefs.setInteger(runningid, forKey: key) 

      return runningid; 
     }else{   
      // not set yet, then set the init value 
      prefs.setInteger(1, forKey: key)   
     } 
    } 
} 

だからあなたのコントローラで簡単に

let audioFileURL = directoryURL.URLByAppendingPathComponent("PWAC_" + FileUtil. getRunningID() + ".m4a") 
1

を呼び出すことができ、各お使いのオーディオファイルには、日付文字列を毎回ユニークな名前を持っています。

関連する問題