0

更新された画像のURLを出力する次のコードがあります

override func viewWillAppear(animated: Bool) {
  NSNotificationCenter.defaultCenter().addObserver(self, selector: "assetChange:", name: ALAssetsLibraryChangedNotification, object: nil) }


func assetChange(notification: NSNotification){

  if var info:NSDictionary = notification.userInfo { var url:NSSet = info.objectForKey(ALAssetLibraryUpdatedAssetsKey) as NSSet
      var aurl:NSURL = url.anyObject() as NSURL
        println(aurl)

     }

}

このコードは正常に動作しますが、最初に変更された画像の URL のみが出力されますが、変更された画像の URL (変更された画像の配列) のすべてのリストが必要です。

4

1 に答える 1

1

を使用するときは、セットから 1 つのオブジェクトを選択していurl.anyObject()ます。代わりに、セットからすべてのオブジェクトを取得してから、配列を反復処理する必要があります。次のコードが役立ちます。

func assetChange(notification: NSNotification) {

    if var info:NSDictionary = notification.userInfo { var url:NSSet = info.objectForKey(ALAssetLibraryUpdatedAssetsKey) as NSSet
        var urls: [NSURL] = url.allObjects as [NSURL]
        for singleUrl in urls {
            println(singleUrl)
        }   
    }
}
于 2015-03-16T11:14:09.490 に答える