При попытке сгруппировать значения вместе, это может быть прекрасной возможностью создать простую структуру или класс и использование что как значение в словаре.
public struct MyValue
{
public object Value1;
public double Value2;
}
затем у Вас мог быть свой словарь
var dict = new Dictionary<int, MyValue>();
, Вы могли даже пойти шаг вперед и реализовать Ваш собственный класс словаря, который обработает любые специальные операции, в которых Вы нуждались бы. например, если Вы хотели иметь Добавить метод, который принял интервал, объект, и дважды
public class MyDictionary : Dictionary<int, MyValue>
{
public void Add(int key, object value1, double value2)
{
MyValue val;
val.Value1 = value1;
val.Value2 = value2;
this.Add(key, val);
}
}
затем Вы могли просто инстанцировать и добавить к словарю как так, и Вы не должны будете волноваться о создании структур 'MyValue':
var dict = new MyDictionary();
dict.Add(1, new Object(), 2.22);
Поскольку вы только отображаете элементы, почему бы не взять NSSet
и не вызвать на нем - [allObjects]
, чтобы получить ] NSArray
?
Если ваши данные изменятся, вам все равно придется выполнить повторную выборку, даже с NSSet
, и кроме первоначального преобразования из NSSet
, использование массива выполняется довольно быстро.