2016-01-05 3 views
1

У меня есть структура, и я использую ее во многих классах. Я хочу иметь способ подсчета количества структур, инициализированных в каждом классе (например, array.count). Я ничего не могу найти на нем.Подсчитайте количество элементов в Struct?

struct measuredBMInfo { 
    var level: Int 
    var message: String 

init(level: Int, message: String) { 
    self.level = level 
    self.message = message 
    } 
} 

Я использую-структуру, как показано ниже:

// setup pain 
let painInfo0 = measuredPainInfo(level: 0, message: "No Pain") 
let painInfo1 = measuredPainInfo(level: 1, message: "Mild pain can be ignored") 
let painInfo2 = measuredPainInfo(level: 2, message: "Moderate pain that interferes with tasks") 
let painInfo3 = measuredPainInfo(level: 3, message: "Moderate pain interferes with concentration") 
let painInfo4 = measuredPainInfo(level: 4, message: "Severe pain interferes with basic tasks") 
let painInfo5 = measuredPainInfo(level: 5, message: "Worst possible pain bedrest required") 

Я хочу, чтобы подсчет measuredPainInfo в этом случае.

+0

Можете ли вы дать нам некоторые примеры использования? Это немного непонятно, чего вы хотите достичь. – Cristik

+0

Я хочу получить, сколько структур у меня есть, чтобы я мог, например, заполнить таблицу с правильным количеством строк. – SashaZ

+0

Почему вы не используете массив этих структур? Затем вы можете получить доступ к его счету. – Cristik

ответ

1

Вы можете определить массив для хранения структур:

var structArray:[measuredBMInfo] = [] 

override func viewDidLoad() { 
    super.viewDidLoad() 

    setPainInfo(0, message: "dfsa") 
    setPainInfo(1, message: "dsger") 
    setPainInfo(2, message: "kh sdfujo") 
    setPainInfo(3, message: "sdfasfd") 

    print(getStructCount()) 
} 

func setPainInfo(level:Int, message: String){ 
    let painInfo = measuredBMInfo(level: level, message: message) 
    structArray.append(painInfo) 
} 

Получить подсчеты с помощью структур:

func getStructCount()->Int{ 
    return structArray.count 
} 
+0

Вау мне это нравится. Я попробую это сейчас. – SashaZ

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