Mam aplikację, która tworzy unikatową galerię zdjęć dla każdego biletu w mojej aplikacji. Muszę dowiedzieć się, jak przeglądać tę galerię, aby przesyłać obrazy na serwer po jednym na raz. Śledziłem te tutoriale na youtube. (Video) Obecnie używam Swift jako mojego języka. moim ostatecznym celem byłoby mieć coś takiego następującego pseudo kodu.Jak przeglądać galerię zdjęć w trybie błyskawicznym ze zdjęciami:
//I need the following for loop example
for photo in gallery
{
uploadToServer(photo)
}
//this function works already
func uploadToServer(photo:UIImage)
{
callRest
postPhoto
}
Oto mój kod do tej pory nie może dowiedzieć się, jak przechodzić. je jednak.
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")*/
})
}
}
śmiało. Jaka jest trudna część? – matt
Mam problem z tym, co należy przeglądać, jestem nowy na szybki i iOS devlopment. Próbowałem zapętlić w moim PHAssetCollection, nie pozwól mi więc próbowałem pętli przez moje PHFetchResults samo. Nie wiem, jak działa framework do zdjęć. – Spikehockey75
Czy obejrzałeś film WWDC o ramce Zdjęcia? To całkiem proste. – matt