Swift 2调用viewdidload图像中的额外参数错误

时间:2015-06-29 18:32:23

标签: ios swift2 xcode7

我使用Xcode 7将我的应用更新为Swift 2.这是我的ViewController viewDidLoad的代码。

let input: AnyObject! = AVCaptureDeviceInput.deviceInputWithDevice(captureDevice, error: &error)

在线

<?php
error_reporting(0);
ini_set('display_errors', 0);

$streamContext = stream_context_create(array('http'=>
    array(
        'method' => 'GET',
        'timeout' => 1, // timeout in seconds (varies +- 1 sec or so)
    )
));

$iFreeNode = -1;

while (true) {
    for ($i = 0; $i <= 9; $i++) {

        $bNodeAvailable = @file_get_contents('http://127.0.0.1:XXXX'.$i.'/ping', false, $streamContext);

        if ($bNodeAvailable === false) {
            //echo "Node ".$i." busy.<br>";
        } else {
            if ($bNodeAvailable = "PING=NODE.FREE") {
                //echo "Node ".$i." available.<br>";
                $iFreeNode = $i;
                break;
            } else {
                //echo "Node ".$i." busy.<br>";
            }
        }
    }
    if ($iFreeNode > -1) { break; }
}
echo file_get_contents("http://127.0.0.1:XXXX".$iFreeNode."/".$_REQUEST['script']."/".$_REQUEST['query']."/".$_REQUEST['sort']."/".$_REQUEST['num']);
?>

我在调用中收到错误额外参数错误。我已经尝试使用方法do {}并捕获{}但它没有工作,我总是得到错误。

我该如何解决?感谢

2 个答案:

答案 0 :(得分:16)

Swift 2引入了新的错误处理。要解决您遇到的问题,您需要catch错误,而不是将NSError对象传递给AVCaptureDevice方法:

override func viewDidLoad() {
    super.viewDidLoad()

    do {
        let captureDevice = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeVideo)
        let input = try AVCaptureDeviceInput(device: captureDevice)
        // Do the rest of your work...
    } catch let error as NSError {
        // Handle any errors
        print(error)
    }
}

如需更深入的解释,请查看本文:

Error Handling in Swift 2.0

答案 1 :(得分:0)

AVCaptureDeviceInput不再存在类型方法,请参阅 - &gt; https://developer.apple.com/library/prerelease/ios/documentation/AVFoundation/Reference/AVCaptureDeviceInput_Class/index.html#//apple_ref/swift/cl/c:objc(cs)AVCaptureDeviceInput

(看起来你可能想要使用init(device:)

...作为一个方便的提示:只要您不通过网络浏览开发者库,如果您不确定自己是否正在查看最新的预发布信息。文档版本检查URL - &gt;添加&#39; /预发布&#39;介于&#39;图书馆之间和&#39; / ios&#39;如有必要:)