Swift: создайте два объекта каждый из них внутри другого - PullRequest
0 голосов
/ 30 апреля 2018

Я разработал приложение для iOS, в котором есть два объекта, каждый из которых находится внутри другого, как показано ниже: первый:

class OfferItem
 {
var _id : Int? = 0
var _OfferId : Int? = 0
var _ItemId : Int? = 0
var _Discount : Int? = 0
var _item = Item()
..
functions()
}

и 2-й:

    class Item
    {

        var _id : Int! = 0
        var _RateCount : Int? = 0   
        var _Offer = OfferItem() 
         ..
    functions()
}

Как решить, что в таком месте, где я могу назвать каждый объект в другом?

1 Ответ

0 голосов
/ 30 апреля 2018

Вы должны прочитать о ссылках в Swift . Ссылка для автоматического подсчета ссылок

Вот ваш пример:

class OfferItem {
  var id: Int?
  var discount: Int?
  var item: Item!

  init(id: Int? = nil, discount: Int? = nil, itemId: Int, itemRateCount: Int) {
    self.id = id
    self.discount = discount
    self.item = Item(id: itemId, rateCount: itemRateCount, offer: self)
  }

}


class Item {
  var id = 0
  var rateCount = 0
  unowned var offer: OfferItem

  init(id: Int, rateCount: Int, offer: OfferItem) {
    self.id = id
    self.rateCount = rateCount
    self.offer = offer
  }
}


var offerItem = OfferItem(id: 10, discount: 2, itemId: 1, itemRateCount: 20)

print(offerItem.item.id, offerItem.item.offer.id)

Результат: 1 Необязательно (10)

Я надеюсь помочь вам с моим ответом выше!

...