gpt4 book ai didi

ios - 如何以与 iPhoto 相同的方式订购 ALAssetsGroup

转载 作者:行者123 更新时间:2023-11-29 12:50:09 26 4
gpt4 key购买 nike

我可以通过 ALAssetsGroupAlbum 枚举并创建一个按专辑名称排序的 NSMutableArray,如下所示,没有问题。但是,我真正想做的是按照 iPhone 照片应用程序的相同方式对相册进行排序,即遵循 iPhoto 上设置的手动顺序,这可能不是按字母顺序排列的。我想知道 Assets 库是否在某处保存此订单信息。有谁知道苹果是怎么做到的?谢谢。


ALAssetsLibraryGroupsEnumerationResultsBlock listGroupBlock = ^(ALAssetsGroup *group, BOOL *stop) {

ALAssetsFilter *onlyPhotosFilter = [ALAssetsFilter allPhotos];
[group setAssetsFilter:onlyPhotosFilter];
if ([group numberOfAssets] > 0)
{
// [self.groups addObject:group];
[self.groups insertObject:group atIndex:0];
}
else
{
//sort groups by name
[self.groups sortUsingComparator:^NSComparisonResult(id obj1, id obj2) {
return [[obj1 valueForProperty:ALAssetsGroupPropertyName] localizedCaseInsensitiveCompare:[obj2 valueForProperty:ALAssetsGroupPropertyName]];
}];

[self.tableView performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO];
}

最佳答案

//这对我有用。这是一个 Swift 2 版本。对任何属性进行排序。我使用了相册名称。

var albums:[ALAssetsGroup] = []

//枚举得到你的相册...

func sortAndReloadAlbums()
{
self.albums.sortInPlace({ (album1:ALAssetsGroup, album2:ALAssetsGroup) -> Bool in
let album1Name: String = String(album1.valueForProperty(ALAssetsGroupPropertyName))
let album2Name: String = String(album2.valueForProperty(ALAssetsGroupPropertyName))

return album1Name < album2Name
})

self.tableView.reloadData()
}

关于ios - 如何以与 iPhoto 相同的方式订购 ALAssetsGroup,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22597301/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com