gpt4 book ai didi

ios - 将 Apple Photos 示例转换为 Swift

转载 作者:行者123 更新时间:2023-11-28 06:55:17 25 4
gpt4 key购买 nike

我正在尝试将 apple 的 Photos 示例转换为 Swift 以满足我的需要。但是,当我在 Objective-C 中看到这个符号 ^ 时,我总是有问题。因此,如果有人愿意向我解释,请尝试将其弄清楚并理解它。

这是我要转换的代码

 dispatch_async(dispatch_get_main_queue(), ^{
// Loop through the section fetch results, replacing any fetch results that have been updated.
NSMutableArray *updatedSectionFetchResults = [self.sectionFetchResults mutableCopy];
__block BOOL reloadRequired = NO;

[self.sectionFetchResults enumerateObjectsUsingBlock:^(PHFetchResult *collectionsFetchResult, NSUInteger index, BOOL *stop) {
PHFetchResultChangeDetails *changeDetails = [changeInstance changeDetailsForFetchResult:collectionsFetchResult];

if (changeDetails != nil) {
[updatedSectionFetchResults replaceObjectAtIndex:index withObject:[changeDetails fetchResultAfterChanges]];
reloadRequired = YES;
}
}];

if (reloadRequired) {
self.sectionFetchResults = updatedSectionFetchResults;
[self.tableView reloadData];
}

});

这是我的 swift 代码。

 dispatch_async(dispatch_get_main_queue(), {
let updatedSectionFetchResults = self.sectionFetchResults.mutableCopy() as! NSMutableArray
let reloadRequired: Bool = false
self.sectionFetchResults.enumerateObjectsUsingBlock(collectionsFetchResult: PHFetchResult, index: NSInteger, stop: Bool) {
let chageDetails: PHFetchResultChangeDetails = changeInstance.changeDetailsForFetchResult(collectionsFetchResult)
if changeDetails != nil {
updatedSectionFetchResults.replaceObjectAtIndex(index, withObject: changeDetails.fetchResultAfterChanges)
}
}
})

这一行 self.sectionFetchResults.enumerateObjectsUsingBlock(collectionsFetchResult: PHFetchResult, index: NSInteger, stop: Bool) 我不断收到 Extra argument collectionFetchResult in call

最佳答案

^ 符号通常表示 Objective-C block 名称可能出现的位置。

通常,未指定名称会导致匿名 block 。

http://goshdarnblocksyntax.com/是有关 block 在 Objective-C 中可以采用的最常见形式的有用快速引用。

Apple documentation on blocks也是理解不同形式的有值(value)的引用。

在 Swift 中,闭包取代了 block ,并且以几乎相同的方式使用不同的语法进行操作。在 http://goshdarnclosuresyntax.com/ 处有相应的闭包快速引用。 .

关于ios - 将 Apple Photos 示例转换为 Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33798658/

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