Получение суммы атрибута класса (целочисленного типа) во всех экземплярах - PullRequest
0 голосов
/ 12 ноября 2018

Скажите, что у меня есть класс как таковой:

class Test  {
    var Test_Value: Int

    init?(Detail_Test_Value: Int) {
        self.Test_Value = Detail_Test_Value
    }
}

Test_Value - атрибут целочисленного класса. Скажем, у меня есть много экземпляров класса Test, все с уникальными значениями Test_Value. Я собираюсь получить сумму Test_Value во всех случаях. Каковы потенциальные способы сделать это?

1 Ответ

0 голосов
/ 12 ноября 2018

В Свифте нет волшебной функции "все экземпляры созданного мной класса", о которой я знаю.

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

Edit:

См. Эту ссылку для различных способов управления массивом слабых ссылок: https://marcosantadev.com/swift-arrays-holding-elements-weak-references/

(я предлагаю WeakRef подход в конце.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...