gpt4 book ai didi

swift - AnyObject 类型的值没有成员 Generator

转载 作者:行者123 更新时间:2023-11-30 12:40:14 24 4
gpt4 key购买 nike

我正在学习,到目前为止我自己还无法弄清楚。

我的代码是:

 func takeScreenshot(completionHandler handler: ((NSData!) -> Void)!)
{
// find out video connection
var videoConnection: AVCaptureConnection?
for conn in stillImageOutput!.connections {
for port in conn.inputPorts {
if port.mediaType == AVMediaTypeVideo {
videoConnection = conn as? AVCaptureConnection
break
}
}
if videoConnection != nil {
break
}
}
stillImageOutput!.captureStillImageAsynchronouslyFromConnection(videoConnection) { (sampleBuffer: CMSampleBuffer!, err: NSError!) in
let data = AVCaptureStillImageOutput.jpegStillImageNSDataRepresentation(sampleBuffer)
handler(data)
}
}

在循环“for port in conn.inputPorts”中,我收到错误。

感谢您的帮助!

最佳答案

您实际上在两个地方遇到了相同的问题。首先是连接属性,它似乎是 AVCaptureOutput 类的属性。 connections 被声明为 NSArray

第二个类似的问题与您使用 inputPorts 有关。 inputPorts 似乎是 AVCaptureConnection 类的属性。 inputPorts 被声明为 NSArray

您遇到的问题是 connport 最终得到 AnyObject 类型,因为 Swift 不知道什么类型的对象位于两个数组中。

因此,您尝试访问 AnyObject 类型变量的属性会导致错误。

您有两个选择。

  1. connections 数组转换为 AVCaptureSession 的 Swift 数组,并将 inputPorts 转换为 AVCaptureInputPort 的 Swift 数组。
  2. conn 转换到 AVCaptureSession 并将 port 转换到 AVCaptureInputPort

关于swift - AnyObject 类型的值没有成员 Generator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42321769/

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