使用iOS和Javascript解析数据库

使用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'

+1

为正在崩溃的iOS上正在执行的查询添加(完整)代码,崩溃的异常消息并获得帮助。当您的iOS应用程序实际崩溃时添加JavaScript代码使得调试非常困难;-) – 2014-11-03 12:06:10

原来它是相冲突的数据类型。将所有上传的数据以JS格式转换为字符串修复了与iOS端阅读的兼容性。