2014-11-03 2 views
1

Я создал приложение iOS и небольшое веб-приложение. Веб-приложение принимает входные данные и создает объекты класса («Jobs») в моей синтаксической БД. Затем приложение iOS считывает эти задания из базы данных (со всеми функциями).Parse База данных с 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. 
    } 
    }); 
} 

Это фрагмент из 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]); 
     } 
    }]; 

Были некоторые забавное compatabilities в Xcode, таким образом, творения укусов. Во всяком случае, когда это выполняется (при открытии представления) он сбой с ошибкой:

*** Завершение приложения из-за неперехваченного исключения «NSInvalidArgumentException», причина: '- [__ NSCFNumber length]: непризнанный селектор, отправленный в пример 0xd629260 '

+1

Добавьте (полный) код запроса, который вы выполняете в iOS, который сбой, сообщение об исключении, с которым оно сбой, и вы получите справку. Добавление кода JavaScript, когда приложение iOS на самом деле сбой делает его очень трудным для отладки ;-) –

ответ

0

Оказывается, это противоречивые типы данных. литье всех загруженных данных в JS в строки исправляет совместимость для чтения с iOS.

Смежные вопросы