Основные данные - NSManagedObject (с отношениями) с JSON

Вместо нижней строки

//header("Location:".ADMIN_URL."/index.php");

напишите

echo("<script>location.href = '".ADMIN_URL."/index.php?msg=$msg';</script>");

или

?><script><?php echo("location.href = '".ADMIN_URL."/index.php?msg=$msg';");?></script><?php

Это определенно решит вашу проблему. Я столкнулся с одной и той же проблемой, но решил решить эту проблему путем написания заголовка.

1
задан Heisenberg 13 July 2018 в 07:44
поделиться

1 ответ

Создайте расширение для каждого класса и дайте ему реализовать Encodable. Что-то вроде этого для Lot

extension Lot: Encodable {
  enum CodingKeys: String, CodingKey {
    case id
    case quantity
    case expiration
    case quantity_packages
  }

  public func encode(to encoder: Encoder) throws {
    var container = encoder.container(keyedBy: CodingKeys.self)
    try container.encode(id, forKey: .id)
    try container.encode(quantity, forKey: . quantity)
    try container.encode(expiration, forKey: . expiration)
    try container.encode(quantity_packages, forKey: . quantity_packages)
}

и для Билла, обратите внимание, что я конвертирую lots из NSSet в Array

extension Bill: Encodable {
  enum CodingKeys: String, CodingKey {
    case id
    case name
    case lots
  }

  public func encode(to encoder: Encoder) throws {
    var container = encoder.container(keyedBy: CodingKeys.self)
    try container.encode(id, forKey: .id)
    try container.encode(name, forKey: .name)
    if let array = lots?.allObjects as? [Lot] {
        try container.encode(array, forKey: .lots)
    } // else Not sure what to do here, maybe use an empty array?
  }
}

Я не смог чтобы проверить это правильно, но я надеюсь, что это поможет.

0
ответ дан Joakim Danielson 17 August 2018 в 13:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: