Вы не слишком конкретны в отношении того, что не работает, но вот предположение или два в некоторых вещах, которые могут вызывать проблемы ...
Одна вещь, которую легко забыть, как новому пользователю Cocoa, - это то, что IBOutlets должны быть фактически подключены в Интерфейсном Разработчике. Удерживая клавишу «Control», перетащите курсор из каждого текстового поля к Владельцу файла в вашем Document.xib и убедитесь, что они назначены для правильного выхода.
Еще один элемент, который кажется странным (хотя я точно не знаю, что это может вызвать проблемы) - это использование цикла for
для установки stringValue
текстовых полей. Если в массиве каждого элемента более одного элемента, вам нужно будет самостоятельно объединить строки перед установкой значения текстового поля. Повторная установка значения просто избавит от предыдущего значения. Если в каждом массиве есть только один элемент, почему бы просто не сделать:
NSArray *dateElement = [root
nodesForXPath:@"//Report/ReportCreationDate"
error:nil];
[dateField setStringValue:
[[dateElement objectAtIndex:0] stringValue]];
Наконец, вы можете попытаться убедиться в отсутствии ошибок при запросе NSXMLDocument:
NSError *dateErr;
NSArray *dateElement = [root
nodesForXPath:@"//Report/ReportCreationDate"
error:&dateErr];
if( dateElement ){
// set the stringValue
}
else {
// inspect the error
}