2015-01-23 3 views
0

Я новичок в основных данных, и я хочу создать логическое атрибут для своего приложения. Мой объект - это RemoveAds, а атрибут isAdRemoved. Я хочу, чтобы он сделал inicialize его ложным, если объявление еще не было удалено, но когда он нажимает кнопку, чтобы удалить объявление, он становится истинным, любые предложения?Использование логического атрибута в Core Data Swift

Obs: У меня есть все мои настройки IAP, это не проблема здесь

Update 1:

func removeallAds() { 

     var appDel: AppDelegate = (UIApplication.sharedApplication().delegate as AppDelegate) 
     var context:NSManagedObjectContext = appDel.managedObjectContext! 

     let entity = NSEntityDescription.entityForName("RemoveAds", inManagedObjectContext: context) 

     let newObject = NSManagedObject(entity: entity!, insertIntoManagedObjectContext: context) as RemoveAds 

      newObject.isAdRemoved = false 

    } 
+0

Что именно проблема? Установка логического атрибута? Вы пытались «object.isAdRemoved = true/false»? Или определить значение по умолчанию для логического атрибута в инспекторе модели Core Data? Или определить действие кнопки? Как проблема связана с IAP? - В настоящее время неясно (для меня) то, о чем вы просите. –

+0

Проблема заключается в определении значения по умолчанию для логического атрибута в основных данных и способах его изменения позже. – Skal

+0

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

ответ

0

При добавлении нового объекта в CoreData, то вы также инициализировать атрибуты, например, чтобы установить атрибут по умолчанию премудрого ложного использования:

let entity = NSEntityDescription.entityForName("RemoveAds", inManagedObjectContext: managedContext) 

let newObject = NSManagedObject(entity: entity, insertIntoManagedObjectContext:managedContext) 

newObject.setValue(false, forKey: "isAdRemoved") 

После того, как вы получили нажатия кнопки, поиск для соответствующего объекта и установить его свойство true, снова setValue.

Существует также несколько учебных пособий для CoreData и Swift, например. Your First Core Data App Using Swift.

+0

Он отображает использование необъявленного типа RemoveAds – Skal

+0

Проверьте, импортируете ли вы класс и/или если оно написано правильно. –

+0

все правильно, проверьте обновленный вопрос, чтобы увидеть код – Skal

0

Вы только что пытаетесь сохранить глобальное приложение? Если это так, то NSUserDefaults, вероятно, намного лучше, чем Core Data.

http://ios-blog.co.uk/tutorials/quick-tips/storing-data-with-nsuserdefaults/https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSUserDefaults_Class/index.html

+0

Хорошо, но предположим, что значение по умолчанию истинно, но когда вы нажимаете кнопку, оно превратится в false, когда я снова открою приложение, это будет правда или ложно? – Skal

+0

Это будет то, что вы его установили. Но если у вас много объявлений, IMO предпочтительнее использовать CoreData. –

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