поэтому здесь я застрял в самой простой части (или так я думал) о моем маленьком проекте для этого утра. Цель заключалась в создании простого XML-анализатора, который берет каждый элемент, с которым они сталкиваются, и добавляет его в словарь, который в конечном итоге удерживает все пары ключ/значение xml.NSMutableDictionary не принимает ключ/значение пара
Так XML-как этот
<xml>
<1stTag>text</1stTag>
<2ndTag>some more text</2ndTag>
</xml>
бы в конечном итоге в словаре с 2 парами ключ/значение:
{
1stTag:text;
2ndTag:some more text;
}
внедряющих NSXMLParser Framework Я думал, что я просто хранить каждый сталкивался элемент и тексты в переменных self.elementInProgress и self.textInProgress (оба NSStrings). Как только элемент закончен, я добавлю пару в словарь.
Так вот файл .h:
@interface MSParser : NSObject <NSXMLParserDelegate>
{
NSString *elementInProgress;
NSString *textInProgress;
NSMutableDictionary *parsedXMLDict;
}
@property (nonatomic, retain) NSString *textInProgress;
@property (nonatomic, retain) NSString *elementInProgress;
@property (nonatomic, retain) NSMutableDictionary *parsedXMLDict;
И соответствующая функция в файле реализации:
@synthesize textInProgress, elementInProgress, parsedXMLDict;
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
[self.parsedXMLDict setValue:self.textInProgress forKey:self.elementInProgress];
NSLog(@"%@",[self.parsedXMLDict valueForKey:self.elementInProgress]);
}
Теперь я здесь, в тупике, что мой NSLog возвращает Null! И я подумал, что это нелегко. Что мне не хватает? И self.textInProgress, и self.elementInProgress заполняются правильно в соответствии с отладчиком. Я могу проследить его до этой строки, где я вызываю setValue ForKey, который снова соответствует документации и работал более одного раза раньше для меня. Словарь просто не принимает значения. Согласно документации, это будет действовать только смешно, если пройденный setValue был ник, который здесь не ... Любые идеи?
Все это выглядит хорошо, а не ошибки компилятора или предупреждения, он просто возвращает Null. Столбик, как я сказал ...
Вы когда-либо устанавливали значения elementInProgress и textInProgress? – Eiko