So durchlaufen Sie eine Fotogalerie im Handumdrehen mit dem Fotorahmen
Ich habe eine App, die für jedes Ticket in meiner App eine eigene Fotogalerie erstellt. Ich muss herausfinden, wie diese Galerie durchlaufen wird, damit ich die Bilder einzeln auf den Server hochladen kann. Ich habe diese Tutorials auf youtube verfolgt. Vide) Ich verwende derzeit Swift als meine Sprache. Mein ultimatives Ziel wäre es, so etwas wie den folgenden Pseudocode zu haben.
//I need the following for loop example
for photo in gallery
{
uploadToServer(photo)
}
//this function works already
func uploadToServer(photo:UIImage)
{
callRest
postPhoto
}
hier ist mein Code bisher kann nicht herausfinden, wie man durchschleift. sie aber.
let fetchOptions = PHFetchOptions()
fetchOptions.predicate = NSPredicate(format: "title = %@", self.albumName)?
let collection:PHFetchResult = PHAssetCollection.fetchAssetCollectionsWithType(.Album, subtype: .Any, options: fetchOptions)
if let first_Obj:AnyObject = collection.firstObject{
//found the album
self.assetCollection = collection.firstObject as PHAssetCollection
self.albumFound = true
}
else { albumFound = false }
var i = collection.count
self.photoAssets = PHAsset.fetchAssetsInAssetCollection(self.assetCollection, options: nil)
self.photoAssets.enumerateObjectsUsingBlock{(object: AnyObject!,
count: Int,
stop: UnsafeMutablePointer<ObjCBool>) in
if object is PHAsset{
let asset = object as PHAsset
println("Inside If object is PHAsset, This is number 1")
let imageSize = CGSize(width: asset.pixelWidth,
height: asset.pixelHeight)
/* For faster performance, and maybe degraded image */
let options = PHImageRequestOptions()
options.deliveryMode = .FastFormat
imageManager.requestImageForAsset(asset,
targetSize: imageSize,
contentMode: .AspectFill,
options: options,
resultHandler: {
(image, info)->Void in
self.photo = image
var defaults: NSUserDefaults = NSUserDefaults.standardUserDefaults()
var server = defaults.objectForKey("imageServer") as String!
var error: NSError? = nil
var imageData = UIImageJPEGRepresentation(self.photo, 90)
var url = NSURL(string: server)
var request = NSMutableURLRequest(URL: url!)
request.HTTPMethod = "POST"
//request.setValue("multipart/form-data", forHTTPHeaderField: "Content-Type")
request.HTTPBody = imageData
var response: NSURLResponse? = nil
let reply = NSURLConnection.sendSynchronousRequest(request, returningResponse:&response, error:&error)
let results = NSString(data:reply!, encoding:NSUTF8StringEncoding)
println("API Response: \(results)")
/*
/* The image is now available to us */
self.sendPhotos(image)
println("enum for image, This is number 2")*/
})
}
}