Используя область, как я могу обновить данные, он не должен создавать новый объект, только обновить объект - PullRequest
0 голосов
/ 21 октября 2019

Вместо того, чтобы сохранять данные, как обновлять тот же объект, когда мы делалиSelectRowAt. * ​​1001 *

Как и offerName "Diwali" для "oct", чтобы без создания нового объекта "diwali" должен был измениться на "oct".

Как я могу это сделать?

Программа: -

let newArray = Discount()
 newArray.offerName = offerName.text!

               let percent = Float(offerValue.text!)
               newArray.segmentIndex = segment.selectedSegmentIndex
              newArray.percentage = percent!


                  //This will go to Create data and save
                   self.saveItems(category: newArray)

                    self.navigationController?.popViewController(animated: true)

}    

func saveItems(category: Discount) {
           do{

               try realm.write {//Save/Create
                   realm.add(category)
               }               
           }catch {
               print("Error in saving \(error)")
           }
       }

1 Ответ

1 голос
/ 21 октября 2019

В следующий раз, когда у вас возникнет такой вопрос, попробуйте сначала проверить документацию по области, и, если вы не найдете там ответа, задайте вопрос о переполнении стека. Чтение документации важно, чтобы стать лучшим программистом. Вот ссылка на документацию области: Документация Swift

Существует два способа обновления объектов в области.

Первый вариант лучше для обновления одного объекта

var yourObject = Object()

do {
  try realm.write {
    yourObject.property = "Some new value"
  }
} catch {
  print("Unable to update object.")
}

Второй вариант лучше для обновления коллекции объектов

var arrayOfImageObjects = realm.objects(Image.self)

do {
  try realm.write {
    // Update first item in array
    // Here we're updating isNewImage property and setting it to false
    arrayOfImageObjects.first!.setValue(false, forKeyPath: "isNewImage")

    // Update all images
    // Here we're updating isNewImage property of all images in array and setting it to false
    arrayOfImageObjects.setValue(false, forKeyPath: "isNewImage")
  }
} catch {
  print("Unable to update objets.")
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...