我在HackingWithSwift==中读到,只有当元素数量小于或等于 6 时,Swift 元组才能与运算符进行比较。这种限制背后的原因是什么?
我用于PHPickerViewController在 iOS 15 中选择用于用户个人资料图片目的的图像。我正在使用 UIKit 框架。我有以下代码:
var pickerConfig = PHPickerConfiguration(photoLibrary: .shared())
pickerConfig.selectionLimit = 1
pickerConfig.filter = .images
let pickerView = PHPickerViewController(configuration: pickerConfig)
pickerView.delegate = self
self.present(pickerView, animated: true)
Run Code Online (Sandbox Code Playgroud)
选择器工作正常,可以选择图像并委派结果。但是,当Cancel按下按钮时,没有任何反应,选择器也没有按预期关闭。
当按下实例PHPickerViewController自己的按钮时如何关闭实例?Cancel
编辑:
Method的实现PHPickerViewControllerDelegate如下:
func picker(_ picker: PHPickerViewController, didFinishPicking results: [PHPickerResult])
{
results.first?.itemProvider.loadObject(ofClass: UIImage.self) { [unowned self] reading , error in
guard let image = reading as? UIImage, error == nil else
{
DispatchQueue.main.async {
picker.dismiss(animated: true)
self.profilePictureHasError = true
self.toggleDoneButtonEnabled()
}
return …Run Code Online (Sandbox Code Playgroud) 我了解到 Swift 使用自动引用计数(ARC)进行内存管理。我想知道structSwift 中的值类型 () 是如何工作的。