Падение на хранение текущего пользователя в основных данных -- ios поле с участием swift поле с участием core-data поле с участием parse-platform пол Связанный проблема

Falling to store current user in Core Data


0
vote

проблема

русский

Что-то действительно странное происходит с моим кодом, и я не знаю, как это исправить. Когда я хочу хранить некоторые пользователи в основных данных, он работает, но когда я хочу хранить свой нынешний пользователь, он не работает, видимо, что данные, которые я пытаюсь сохранить, это Nil, но когда я печатаю эти же данные в журнал, все кажется, отлично отлично

в цикле цикла I для всех пользователей, которые я хочу хранить, и если имя пользователя равняется одному из текущих пользователей, чем храним текущий пользователь, в противном случае я храним других пользователей.

Это действительно странно, потому что обычно обе операции, добавляя текущий пользователь или добавление других пользователей, одинаковы.

Мой код:

 <код> struct cdev4  

Это то, что печатается в журнал, я печатаю все, потому что важно видеть, что данные, которые я пропускаю, не должен быть Nil:

 <код> struct cdev5  

Если кто-то найдет решение моей проблемы, я бы действительно признателен, я действительно не знаю, как это исправить!

Английский оригинал

Something really strange is happening with my code and I don't know how to fix it. When I want to store some users in core data it works but when I want to store my current user, it doesn't work, apparently the data I try to save is nil but when I print this same data to the log, everything seems perfectly fine

In a for loop I loop over all the users I want to store and if the username equals the one of the current user than I store the current user, otherwise I store the other users.

It is really weird because normally both operations, adding current user or adding other users, are the same.

My code:

    var managedObjectContext = AppDelegate().managedObjectContext  // MARK - Adding all the users in Core data for userFromParseDataBase in usersFromParseDataBase {      let entity = NSEntityDescription.entityForName("Users", inManagedObjectContext: self.managedObjectContext)     let newUser = Users(entity: entity!, insertIntoManagedObjectContext: self.managedObjectContext)      // Checking if the current user is correctly logged in     if userFromParseDataBase.username == userName {          print(userFromParseDataBase.username)         print(userFromParseDataBase.profileName)          // Adding other users interacting with currentUser         newUser.username = userFromParseDataBase.username         print(newUser.username)         newUser.profileName = userFromParseDataBase.profileName         let imageData = try! userFromParseDataBase.profileImage.getData()         if (imageData.length != 0){             newUser.photo = imageData         }         newUser.currentUser = true         newUser.added = false          do {             try newUser.managedObjectContext?.save()             self.usersFromCoreData.append(newUser)             print("TEST 1 - current user has been saved to core data")         } catch {             let saveError = error as NSError             print("ERROR CURRENT USERS : (saveError), (saveError.userInfo)")         }          // Checking if there are added users     }else if self.arrayAddedUsers.contains(userFromParseDataBase.username) {          // Adding added users         newUser.username = userFromParseDataBase.username         newUser.profileName = userFromParseDataBase.profileName         let imageData = try! userFromParseDataBase.profileImage.getData()         if (imageData.length != 0){             newUser.photo = imageData         }         newUser.currentUser = false         newUser.added = true         do {             try newUser.managedObjectContext?.save()             self.usersFromCoreData.append(newUser)             print("TEST 1 - added user has been saved to core data")         } catch {             let saveError = error as NSError             print("ERROR ADDED USERS :(saveError), (saveError.userInfo)")         }          // Checking if the current user interacts with users that have not been added     }else if self.arrayGroupMembers3.contains(userFromParseDataBase.username){          print(userFromParseDataBase.username)         print(userFromParseDataBase.profileName)          // Adding other users interacting with currentUser         newUser.username = userFromParseDataBase.username         print(newUser.username)         newUser.profileName = userFromParseDataBase.profileName         let imageData = try! userFromParseDataBase.profileImage.getData()         if (imageData.length != 0){             newUser.photo = imageData         }         newUser.currentUser = false         newUser.added = false          do {             try newUser.managedObjectContext?.save()             self.usersFromCoreData.append(newUser)             print("TEST 3 - interacting user has been saved to core data")         } catch {             let saveError = error as NSError             print("ERROR INTERACTING USERS : (saveError), (saveError.userInfo)")         }     }else {         print("No condition is true")     }  } 

This is what gets printed to the log, I print everything because it is important to see that the data I am passing is not supposed to be nil:

antoine@info.com antoine Optional("antoine@info.com") TEST 2 - interacting user has been saved to core data thomas@info.com thomas Optional("thomas@info.com") ERROR CURRENT USERS : Error Domain=NSCocoaErrorDomain Code=1560 "(null)" UserInfo={NSDetailedErrors=( "Error Domain=NSCocoaErrorDomain Code=1570 "The operation couldnU2019t be completed. (Cocoa error 1570.)" UserInfo={NSValidationErrorKey=profileName, NSLocalizedDescription=The operation couldnU2019t be completed. (Cocoa error 1570.), NSValidationErrorObject=<WeGrupp.Users: 0x7fd4d0c3fe60> (entity: Users; id: 0x7fd4d0c13310 <x-coredata:///Users/t9279CD60-1946-485B-BE68-F1EE10D8ACFE4> ; data: {     added = 0;     currentUser = 0;     groups =     (     );     photo = nil;     profileName = nil;     username = nil; })}", "Error Domain=NSCocoaErrorDomain Code=1570 "The operation couldnU2019t be completed. (Cocoa error 1570.)" UserInfo={NSValidationErrorKey=username, NSLocalizedDescription=The operation couldnU2019t be completed. (Cocoa error 1570.), NSValidationErrorObject=<WeGrupp.Users: 0x7fd4d0c3fe60> (entity: Users; id: 0x7fd4d0c13310 <x-coredata:///Users/t9279CD60-1946-485B-BE68-F1EE10D8ACFE4> ; data: {     added = 0;     currentUser = 0;     groups =     (     );     photo = nil;     profileName = nil;     username = nil; })}")}, [NSDetailedErrors: ( "Error Domain=NSCocoaErrorDomain Code=1570 "The operation couldnU2019t be completed. (Cocoa error 1570.)" UserInfo={NSValidationErrorKey=profileName, NSLocalizedDescription=The operation couldnU2019t be completed. (Cocoa error 1570.), NSValidationErrorObject=<WeGrupp.Users: 0x7fd4d0c3fe60> (entity: Users; id: 0x7fd4d0c13310 <x-coredata:///Users/t9279CD60-1946-485B-BE68-F1EE10D8ACFE4> ; data: {     added = 0;     currentUser = 0;     groups =     (     );     photo = nil;     profileName = nil;     username = nil; })}", "Error Domain=NSCocoaErrorDomain Code=1570 "The operation couldnU2019t be completed. (Cocoa error 1570.)" UserInfo={NSValidationErrorKey=username, NSLocalizedDescription=The operation couldnU2019t be completed. (Cocoa error 1570.), NSValidationErrorObject=<WeGrupp.Users: 0x7fd4d0c3fe60> (entity: Users; id: 0x7fd4d0c13310 <x-coredata:///Users/t9279CD60-1946-485B-BE68-F1EE10D8ACFE4> ; data: {     added = 0;     currentUser = 0;     groups =     (     );     photo = nil;     profileName = nil;     username = nil; })}")] 

If someone finds the solution to my problem I would really appreciate, I really don't know how to fix this!

</div
           
     
     

Список ответов

0
 
vote

Если вы посмотрите яблоко документа вы найдете как:

<Р> NSValidationMultipleErrorsError = 1560, NSValidationMissingMandatoryPropertyError = 1570,
<Р>, который может означать, что вы пытаетесь сохранить объект обязательных свойств, набор к нулю. <Р> Об ошибках вы можете найти здесь: https://developer.apple.com/library/mac /documentation/Cocoa/Conceptual/CoreData/ObjectValidation.html <Р> https://developer.apple.com / библиотека / Mac / документация / какао / Справка / CoreDataFramework / Разное / CoreData_Constants /
 

If you look apple doc you will find like:

NSValidationMultipleErrorsError = 1560, NSValidationMissingMandatoryPropertyError = 1570,

which can mean that you try to save object with mandatory properties that set to nil.

About errors you can find there: https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CoreData/ObjectValidation.html

https://developer.apple.com/library/mac/documentation/Cocoa/Reference/CoreDataFramework/Miscellaneous/CoreData_Constants/

</div
 
 
 
 
0
 
vote
<Р> Я нашел решение т, pheww ... <Р> Я должен положить на самом деле сущность и NEWUSER в рамках каждого IF заявления и вот оно ... <Р> В любом случае, спасибо за вашу помощь;) без вашего поста я бы не обратить внимание на место переменного объекта. Спасибо снова
 

I found the solution t, pheww...

I have to put in fact the entity and the newUser in the scope of each IF statement and that's it...

Anyway, thanks for your help ;) without your post I wouldn't have pay attention to the place of the entity variable. Thanks again

</div
 
 

Связанный проблема

2  Мое обновление приложения iOS удаляет постоянные данные из старой версии пользователей  ( My ios app update deletes persistent data from users older version ) 
В моем приложении iOS я разрешу пользователя сохранить свои пресеты пользовательского интерфейса. <код> public interface ITestServiceCallback { [Operati...

7  Никогда не получайте загрузку данных в Google API для iOS  ( Never getting uploading data progress in google api for ios ) 
Я использую Googledrive API в своем приложении, чтобы загрузить файлы из моего приложения. До сих пор мне удалось найти хорошие результаты для загрузки всех т...

3  Facebook IOS SDK: войдите в Facebook без всегда просить разрешений для приложения  ( Facebook ios sdk login to facebook without always ask for permissions for the a ) 
Я использую Facebook iOS SDK в моем приложении, и у меня есть два подобных вопроса: Есть ли способ узнать, есть ли в настоящее время войти пользователя? ...

-1  Переместите анимированный символ только в то время как кнопка удерживается  ( Move an animated character only while a button is held down ) 
Я пытался сделать накрасочный персонаж двигаться с четырьмя стрелками: вверх, прямо, левый и вниз, как игровая мальчик. Я сделал это: <код> - (IBActio...

0  Симулятор iPad показывает черный экран слева?  ( Ipad simulator showing black screen on the left ) 
Привет, я делаю приложение iPhone / iPad. Однако в симуляторе iPad экран показывает черный экран слева без видимых причин. Я запустил приложение с симулято...

46  Как проверить push-уведомление работает в моем приложении  ( How to test push notification is working in my application ) 
В моем приложении я реализую службу Push-уведомления. У меня есть сервер поставщика контента, который содержит некоторые продукты в нем. Я создал сертификат...

1  Обновление NsmanageObjects на заднем плане  ( Updating nsmanagedobjects in the background ) 
Я пытаюсь обновить NSManagedObject в фоновом режиме на основе свойств из сети сети. Возникли проблемы с обертыванием моей головы вокруг параллелизма. То, что ...

0  Realm.io Array Создание  ( Realm io array creation ) 
Какой правильный способ создать rlmobject с массивом других rlmobjects? Документы ничего не упоминают и мои первоначальные попытки (ничего не делайте, предп...

32  В чем разница между ns_enum и ns_options?  ( What is the difference between ns enum and ns options ) 
i предварительно назначил следующий код с помощью clang в xcode5. <код> typedef NS_ENUM(NSInteger, MyStyle) { MyStyleDefault, MyStyleCustom }; type...

0  Уволить контроллер просмотра, когда он был назван «PerforgeGege»?  ( Dismiss view controller when it was called by performsegue ) 
У меня есть три контроллера просмотра: <код> Main , <код> VC1 , а <код> VC2 . Всякий раз, когда приложение запускает метод делегата определяет, какой VC будет...

1  Есть ли способ использовать координаты для выбора элемента в автоматизации тестирования IOS UI?  ( Is there a way to use coordinates to select an element in ios ui test automation ) 
Я имею дело с <код> UICollectionView , который имеет много элементов. Один из них, это <код> UISuplementaryView , который содержит множество кликабельных ячее...

0  «NsconcretemutableAttribedString initwithString) :: Nil Value 'при использовании Google рядом с сообщениями  ( Nsconcretemutableattributedstring initwithstring nil value when using google ) 
Я следовал в документации Google для использования API BearmyBymessages. Я использую Swift3. У меня есть следующий код, чтобы настроить приложение для публика...

2  IOS: Как нарисовать линию между двумя движущимися объектами?  ( Ios how to draw a line between two moving objects ) 
Я в основном имеющую массив объектов UIView, которые находятся на экране. Они перемещаются случайным образом вокруг, и я хотел бы иметь строку, соединяющую ка...

1  Доступ к файлу, сохраненному на устройство WriteToFile  ( Accessing file saved to device writetofile ) 
Я экономя свой текст UItextView в файл, test.txt <код> NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSS...

6  Как изменить размер изображения, чтобы соответствовать ячейке UiableView?  ( How to resize image to fit uitableview cell ) 
Как соответствовать <код> UIImage в ячейку <код> UITableView , uableviewcell (?). Вы <Код> addSubview на <Код> cell или есть ли способ изменить размер <к...

Связанный проблема

2  Мое обновление приложения iOS удаляет постоянные данные из старой версии пользователей 
7  Никогда не получайте загрузку данных в Google API для iOS 
3  Facebook IOS SDK: войдите в Facebook без всегда просить разрешений для приложения 
-1  Переместите анимированный символ только в то время как кнопка удерживается 
0  Симулятор iPad показывает черный экран слева? 
46  Как проверить push-уведомление работает в моем приложении 
1  Обновление NsmanageObjects на заднем плане 
0  Realm.io Array Создание 
32  В чем разница между ns_enum и ns_options? 
0  Уволить контроллер просмотра, когда он был назван «PerforgeGege»? 
1  Есть ли способ использовать координаты для выбора элемента в автоматизации тестирования IOS UI? 
0  «NsconcretemutableAttribedString initwithString) :: Nil Value 'при использовании Google рядом с сообщениями 
2  IOS: Как нарисовать линию между двумя движущимися объектами? 
1  Доступ к файлу, сохраненному на устройство WriteToFile 
6  Как изменить размер изображения, чтобы соответствовать ячейке UiableView?