使用iOS和Javascript解析数据库
问题描述:
我创建了一个iOS应用程序和一个小型的网络应用程序。 Web应用程序接受输入并在我的分析数据库中创建类的对象(“作业”)。 iOS应用程序然后从数据库中读取这些作业(具有各种功能)。使用iOS和Javascript解析数据库
现在,这是一个概念,我有两个部分单独工作,但他们不会一起工作。
// Function called to save all the information gathered.
function submitFunction (name, phone, email, title, date, start, hours, address, notes) {
console.log("worked");
var Jobs = Parse.Object.extend("Jobs");
var jobs = new Jobs();
jobs.save({
// these need to change to variables
name: name,
phoneNumber: Number(phone),
email: email,
date: date,
title:title,
startTime: start,
numofHours: Number(hours),
address: address,
notes: notes
}, {
success: function(name) {
// The object was saved successfully.
},
error: function(name, error) {
// The save failed.
// error is a Parse.Error with an error code and message.
}
});
}
这是从我的web应用程序的JavaScript代码段,但是当这些被添加到数据库,当我尝试检索数据我的iOS应用程序崩溃(反之亦然)。
Xcode的查询看起来是这样的:
PFQuery *updateTableArray = [PFQuery queryWithClassName:@"Jobs"];
[updateTableArray findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) {
// The find succeeded.
NSLog(@"Successfully retrieved %d objects.", objects.count);
// Do something with the found objects
for (PFObject *object in objects) {
//Init variables from parse
NSString *titleString = object[@"title"];
NSString *dateString = object[@"date"];
NSString *timeString = object[@"startTime"];
NSString *hoursString = object[@"numofHours"];
NSString *addressString = object[@"address"];
NSString *notesString = object[@"notes"];
NSString *phoneString = object[@"phoneNumber"];
NSString *objectIdString = object.objectId;
//add initialized vars into appropriate arrays
[self.titlesArray addObject:titleString];
[self.dateArray addObject:dateString];
[self.timeArray addObject:timeString];
[self.hoursArray addObject:hoursString];
[self.addressArray addObject:addressString];
[self.notesArray addObject:notesString];
[self.phoneArray addObject:phoneString];
[self.objectIdArray addObject:objectIdString];
}
[self.tableView reloadData];
} else {
// Log details of the failure
NSLog(@"Error: %@ %@", error, [error userInfo]);
}
}];
有Xcode中一些有趣的compatabilities,因此刺的创作。无论如何,当这是运行(在视图打开时)它崩溃的一个错误:
***由于未捕获异常'NSInvalidArgumentException',原因:' - [__ NSCFNumber长度]:终止应用程序无法识别的选择器发送到实例0xd629260'
答
原来它是相冲突的数据类型。将所有上传的数据以JS格式转换为字符串修复了与iOS端阅读的兼容性。
为正在崩溃的iOS上正在执行的查询添加(完整)代码,崩溃的异常消息并获得帮助。当您的iOS应用程序实际崩溃时添加JavaScript代码使得调试非常困难;-) – 2014-11-03 12:06:10