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