enter code here
I have a app with two entities. One of them is working fine, the other has the following strange behavior, first time that I have trouble like this, as I have a lot of apps with Core Data.
Используя запрос усилия или чтение предприятия непосредственно и помещение в NSMutableArray
, когда попытка получить стоимость для признака последовательности, это возвращает все признаки последовательности, разделенные на \n\t\t\t
.
Кто-либо имел подобную проблему? Я решил это до сих пор при помощи
NSArray *componentsArr = [info.apellidos componentsSeparatedByString:@"\n\t"];
NSString *sApellidos = [componentsArr objectAtIndex:0];
другие признаки, как Integer32, хорошо работают с этим предприятием.
Здесь код я использую:
NSManagedObject *entries = [NSEntityDescription insertNewObjectForEntityForName:@"Medicos" inManagedObjectContext:_context];
[entries setValue:strMedID forKey:@"medID"];
[entries setValue:strNombres forKey:@"nombres"];
[entries setValue:strApellidos forKey:@"apellidos"];
[entries setValue:strDireccion forKey:@"direccion"];
NSNumber *numValue = [NSNumber numberWithInteger:1];
[entries setValue:numValue forKey:@"active"];
EDIT:
This was my mistake:
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
if ( [elementName isEqualToString:@"medico"] )
{
strApellidos = [[NSMutableString alloc] init];
inApellidos = NO;
}
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
if ( inApellidos ) {
[strApellidos appendString:string];
}
}
я забыл заканчивать прием информации в didEndElement, в этом случае inApellidos = НЕТ; Поскольку это не было сделано, вся информация, прибывающая из NSXLMParser, была добавлена к NSMutableString.
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
if ( [elementName isEqualToString:@"apellidos"] ) {
inApellidos = NO;
}
}