У меня есть приложение iOS, которое соответствует входящим текстовым полям , стандартным полям, используемым для импорта записей. Моя проблема в том, что NSMutableDictionary, который использует эти поля, пуст! Вот код, который сохраняет отображение:Синглтоновский словарь пуст, и я не понимаю, почему
-(void)mapUserFields: (id) sender { // move contents of each textField when user has finished entering it
SingletonDictionary *sd = [SingletonDictionary sharedDictionary];
UITextField *tf = (UITextField *)sender; // textfield contains the pointer to user's half of the equation
int tagValue = (int)tf.tag; // get the tag value
[sd.dictionaryOfUserIndexes setObject:tf.text forKey:[NSString stringWithFormat:@"%d", tagValue]]; // value found in textField id'd by tag
NSLog(@"\nfield.text: %@ tagValue: %d nsd.count: %d\n",tf.text, tagValue, sd.dictionaryOfUserIndexes.count);
}
Это является результатом NSLog:
field.text: 1 tagValue: 38 nsd.count: 0
Это является определение singleton в файле .h:
@property (nonatomic, retain) NSMutableDictionary *dictionaryOfUserIndexes;
Это код для инициализации пения leton в файле .m:
//-- SingletonDictionaryOfUserIDs --
+ (id) sharedDictionary {
static dispatch_once_t dispatchOncePredicate = 0;
__strong static id _sharedObject = nil;
dispatch_once(&dispatchOncePredicate, ^{
_sharedObject = [[self alloc] init];
});
return _sharedObject;
}
-(id) init {
self = [super init];
if (self) {
dictionaryOfUserIndexes = [NSMutableDictionary new];
}
return self;
}
@end
Я считаю, что моя проблема, потому что sd.dictionaryOfUserIndexes не инициализирован, но я не уверен, если это правда, и если да, то как инициализировать его (я попробовал несколько разных вариантов, все из которых создали ошибки сборки). Я посмотрел на SO и Google, но ничего не нашел, что касается этой конкретной проблемы. Помощь будет принята с благодарностью!
Показать, как 'dictionaryOfUserIndexes' объявлен в вашем одноточечном классе. И, пожалуйста, отформатируйте свой код. Вы отправили слишком много вопросов для публикации плохо отформатированного кода. – rmaddy
Это лучше: форматирование моего кода? Если нет, я не понимаю, о чем вы говорите ... пожалуйста, продумайте ... SD – SpokaneDude
Что наследует 'SingletonDictionary'? –