Ios &引用;命令失败,原因是信号:分段故障:11“问题是什么?

Ios &引用;命令失败,原因是信号:分段故障:11“问题是什么?,ios,swift,parse-platform,compiler-errors,label,Ios,Swift,Parse Platform,Compiler Errors,Label,我做了一些研究,但仍然不知道是什么导致了代码中的这个错误(嗯,我知道是什么导致的,但我不知道为什么…) 本质上,我从解析云代码中检索一个数组,results。然后我将其发送给ViewController2,以UILabel的格式打印出数组的一部分。当我这样做时,我得到了编译器错误。这真让我困惑 请注意,result,我检索的数组同时包含字符串和布尔值,这就是为什么我将其设置为AnyObject,以便以后可以强制转换特定部分 云代码: Parse.Cloud.define("checkAccoun

我做了一些研究,但仍然不知道是什么导致了代码中的这个错误(嗯,我知道是什么导致的,但我不知道为什么…)

本质上,我从解析云代码中检索一个数组,
results
。然后我将其发送给ViewController2,以
UILabel
的格式打印出数组的一部分。当我这样做时,我得到了编译器错误。这真让我困惑

请注意,
result
,我检索的数组同时包含字符串和布尔值,这就是为什么我将其设置为
AnyObject
,以便以后可以强制转换特定部分

云代码:

Parse.Cloud.define("checkAccountStatus", function(request, response) {

var results = [];
var query = new Parse.Query(Parse.User);
query.equalTo("username", request.params.username);
query.first({
        success: function(getUserData) {

        if (request.params.operation == 1) {

            var passwordChanged = getUserData.get("passwordChanged");
            var question1 = getUserData.get("question1");
            var question2 = getUserData.get("question2");
            var question3 = getUserData.get("question3");

            results.push(passwordChanged);
            results.push(question1);
            results.push(question2);
            results.push(question3);

        }

        else {

            if (request.params.answerToQuestion1 == getUserData.get("answer1")) {

                results.push(true)
            }

            else {

                results.push(false)
            }

            if (request.params.answerToQuestion2 == getUserData.get("answer2")) {

                results.push(true)
            }

            else {

                results.push(false)
            }

            if (request.params.answerToQuestion3 == getUserData.get("answer3")) {

                results.push(true)
            }

            else {

                results.push(false)
            }
        }

            response.success(results);

        },
        error: function(error) {

            response.error("There was an error");

        }
});
});
ViewController1代码(部分代码):

ViewController2代码:

@IBOutlet var question1: UILabel!
var data: AnyObject!

override func viewDidLoad() {
     super.viewDidLoad()

     question1.text = data[1] as String! //THIS GIVES ME THE ERROR.
}
尝试更改:

PFCloud.callFunctionInBackground("checkAccountStatus", withParameters: ["username" : self.username.text, "operation" : 1]) {
        (result: AnyObject!, error: NSError!) -> Void in


在findObjectsInBackgroundWithBlock中使用AnyObject时,我也遇到了同样的错误。类似于:这是由于Parse SDK中的更改引起的

您使用的是Xcode 6.3 Swift1.2吗?我使用的是Xcode 6.1.1我不知道swift版本我问这个问题,因为Xcode 6.3有很多这样的错误,它们都是由只读计算属性变量引起的,我发现的唯一解决方法是将它们放在类或extensionYa我只有一个免费的开发人员帐户,所以我没有访问6.3的权限。你知道我的代码中有什么问题吗?:)顺便说一句,我的情况正好相反-将
(objects:[PFObject]?,error:NSError?->Void in
更改为
(objects:[AnyObject]?,error:NSError?->Void in
。很奇怪。
PFCloud.callFunctionInBackground("checkAccountStatus", withParameters: ["username" : self.username.text, "operation" : 1]) {
        (result: AnyObject!, error: NSError!) -> Void in
PFCloud.callFunctionInBackground("checkAccountStatus", withParameters: ["username" : self.username.text, "operation" : 1]) {
        (result: PFObject!, error: NSError!) -> Void in