Я хочу поделиться NSMutableDictionary между несколькими UITableViews. Дело в том, что в одном представлении я могу добавить массив как значение и соответствующий ключ в словарь, а затем установить свойство словаря SingletonObject. Затем в другом представлении я могу получить доступ к массиву в словаре через свойство SingletonObject.Возможно ли иметь NSMutableDictionary как свойство SingletonObject?
Для SingletonObject, в заголовочном файле, у меня есть это:
@property(nonatomic) NSMutableDictionary * dict;
+(SingletonObject *) sharedManager;
В файле реализации для SingletonObject у меня есть это:
@synthesize Dict;
+ (SingletonObject *) sharedManager { Статический SingletonObject * sharedResourcesObj = nil;
@synchronized(self)
{
if (!sharedResourcesObj)
{
sharedResourcesObj = [[SingletonObject alloc] init];
}
}
return sharedResourcesObj;
}
Тогда я сделать следующее в одном из моих классов UITTableView
// instantiate the SingletonObject
sharedResourcesObj = [SingletonObject sharedManager];
// instantiate array
NSMutableArray *courseDetails = courseDetails = [[NSMutableArray alloc]init];
// put textview value into temp string
NSString *tempString = tempString = [[NSString alloc]initWithString:[_txtBuildingRoom text]];
// put textview value into array (via temp string)
[courseDetails addObject:tempString];
// set dictionary property of SingletonObject
[sharedResourcesObj.dict setObject:courseDetails forKey:_lblCourse.text];
Проблема заключается в том, что когда я печатаю все на консоль, строка за строкой, все имеет значение и работает правильно, ИСКЛЮЧИТЬ новое значение словаря не существует.
Когда я проверяю значение или количество словаря с помощью приведенного ниже кода, счетчик равен 0, и в словаре нет объектов.
// dictionary count
NSLog(@"%i", sharedResourcesObj.dict.count);
// get from dictionary
NSMutableArray *array = [sharedResourcesObj.dict objectForKey:_lblCourse.text];
// display what is in dictionary
for (id obj in array)
{
NSLog(@"obj: %@", obj);
}
Я использую правильную концепцию для обмена словарем между UITableViews?
Есть ли какая-то проблема с моей реализацией моего SingletonObject?
Я использовал эту реализацию SingletonObject раньше, чтобы разделить целочисленные значения между вкладками, и проблем не было абсолютно. Теперь единственное отличие состоит в том, что свойство SingletonObject не является целым числом, а NSMutableDictionary.
Может ли кто-нибудь помочь?
Вы не создаете словарь –