Trong ứng dụng của tôi có một nút, người dùng chỉ cần nhấp vào nó thì ảnh mới nhất trong thư viện có thể được truy xuất trực tiếp trên màn hình. Làm thế nào để có được hình ảnh mới nhất trong thư viện?Cách tải ảnh mới nhất trong Thư viện iPhone?
2012/02/17
này có thể nhận được ALAsset
void (^assetEnumerator)(ALAsset *, NSUInteger, BOOL *) = ^(ALAsset *result, NSUInteger index, BOOL *stop)
{
if(result != nil)
{
[self.assets addObject:result];
}
};
void (^assetGroupEnumerator)(ALAssetsGroup *, BOOL *) = ^(ALAssetsGroup *group, BOOL *stop)
{
if(group != nil)
{
[group setAssetsFilter:[ALAssetsFilter allPhotos]];
[group enumerateAssetsUsingBlock:assetEnumerator];
}else{
self.image = [self getLastImage];
}
};
ALAssetsLibraryAccessFailureBlock failureblock = ^(NSError *myerror){
NSLog(@"error occour =%@", [myerror localizedDescription]);
};
assets = [[NSMutableArray alloc] init];
ALAssetsLibrary *assetsLibrary = [[ALAssetsLibrary alloc] init];
[assetsLibrary enumerateGroupsWithTypes:ALAssetsGroupAll usingBlock:assetGroupEnumerator failureBlock:failureblock];
[assetsLibrary release];
Để có được ngày tập Tôi sử dụng này
assetURLArray = [[NSMutableArray alloc] init];
for (ALAsset *asset in self.assets) {
NSDate * date = [asset valueForProperty:ALAssetPropertyDate];
Sau đó, tôi phát hiện ra rằng hình ảnh mới nhất luôn phần trên cùng của assetURLArray, vì vậy cuối cùng tôi cũng có được cái mới nhất như thế này
if (self.assets && [self.assets count]) {
ALAsset *asset = [self.assets objectAtIndex:([self.assets count] - 1)];
CGImageRef ref = [[asset defaultRepresentation]fullResolutionImage];
Tôi donno nếu điều này luôn luôn hoạt động ... hy vọng bất kỳ ai có thể chứng minh tôi.
Và ở đó tôi đang tìm kiếm một cách để đồng bộ hóa thread ...
bạn chỉ có thể làm '[self.assets lastObject]', đó helpfully trả về nil nếu đếm là 0. –