Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用Swift 2在AFN中发布_Ios_Xcode_Swift - Fatal编程技术网

Ios 使用Swift 2在AFN中发布

Ios 使用Swift 2在AFN中发布,ios,xcode,swift,Ios,Xcode,Swift,我在我的应用程序中使用了这段代码来登录。它曾经在swift 1中工作,但当我将整个应用程序带到swift时,它停止工作。注意:代码编译时没有错误,问题是它没有执行请求 @IBAction func signIn(sender: AnyObject) { let body = NetUtils.buildLoginRequestBody(email: emailField.text!, password: passwordField.text!); let mana

我在我的应用程序中使用了这段代码来登录。它曾经在swift 1中工作,但当我将整个应用程序带到swift时,它停止工作。注意:代码编译时没有错误,问题是它没有执行请求

@IBAction func signIn(sender: AnyObject) {
        let body = NetUtils.buildLoginRequestBody(email: emailField.text!, password: passwordField.text!);
        let manager = AFHTTPRequestOperationManager();
        manager.requestSerializer = AFJSONRequestSerializer() as AFHTTPRequestSerializer;
        manager.responseSerializer = AFJSONResponseSerializer();

        barActivityIndicator.startAnimating();
        setViewsEnabled(false);

        manager.POST(LoginURL, parameters: body,
            success: { (operation: AFHTTPRequestOperation!, responseObject: AnyObject!) in
                NSLog("success code: %d", operation.response!.statusCode);
                print(JSON(responseObject))
                self.processUserData(JSON(responseObject));
                self.barActivityIndicator.stopAnimating();
                self.setViewsEnabled(true);

            },
            failure: { (operation: AFHTTPRequestOperation?, error: NSError!) in
                NSLog("error: %@", error.localizedDescription);
                self.barActivityIndicator.stopAnimating();
                self.setViewsEnabled(true);
                self.alert.show();
            }
        );
}
我猜不执行请求意味着请求失败了

我在代码中看到的一个问题是,您没有保存对经理的引用,因此在函数完成后,它可能会被释放,从而在闭包返回时导致失败

如果您持有这样的参考资料:

var manager = AFHTTPRequestOperationManager()

func signIn(sender: AnyObject) { 
    manager.requestSerializer = ...
}

这行吗?

首先检查您的
登录(发件人:AnyObject)
和UI元素之间的链接已经检查过了,可以了