AnyObject类型的值没有成员生成器
我正在学习,并且我自己目前无法弄清楚。AnyObject类型的值没有成员生成器
我的代码是:
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)
}
}
在循环 “在conn.inputPorts端口” 我的错误。
感谢您的帮助!
你在两个地方实际上有同样的问题。首先是connections
财产,它似乎是AVCaptureOutput
类的财产。 connections
被宣告为NSArray
。
第二,类似的问题与您使用inputPorts
。 inputPorts
似乎是AVCaptureConnection
类的一个属性。 inputPorts
被宣告为NSArray
。
您遇到的问题是conn
和port
以AnyObject
类型结尾,因为Swift不知道两个数组中的对象是什么类型。
因此,您尝试访问类型为AnyObject
的变量的属性会导致错误。
您有两种选择。
- 角色的
connections
阵列的AVCaptureSession
和inputPorts
一个夫特阵列的AVCaptureInputPort
一个夫特阵列。 - 铸造
conn
至AVCaptureSession
和port
至AVCaptureInputPort
。
谢谢!有效! –
很高兴帮助。请不要忘记接受解决您的问题的答案。这让人们知道你的问题已经解决了。 – rmaddy
类型'AnyObject'没有成员什么?通常有一些事情要结束该声明,以澄清你试图操纵的东西不存在 – Pierce
也许你的意思是做'connections.inputPorts'?...不知道,没有足够的信息。 –
AnyObject类型的值在'Generator'中没有成员 –