Estoy adaptando este tutorial a mi aplicación, y lo he reducido a un último error, que me detiene en seco. El programa no puede encontrar una propiedad en otro archivo, pero esa propiedad está claramente definida. Aquí está el código en cuestión:
La línea de error real:
for (DTContact *dtc in _dtContact.contact) {
el .h para el archivo y los elementos en cuestión:
#import <UIKit/UIKit.h>
@class XMLTestViewController;
@class DTCXMLResponse;
@interface XMLTestController : UIViewController{
UIWindow *window;
XMLTestViewController *viewController;
DTCXMLResponse *_dtContact;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet XMLTestViewController *viewController;
@property (nonatomic, retain) DTCXMLResponse *dtContact;
@property (nonatomic, retain) IBOutlet UIButton *mybutton;
-(IBAction)buttonClicked;
@end
Tiene problemas con _dtContact.contact. No puede encontrar el contacto en el archivo DTCXMLResponse. Aquí está el archivo .h y la sección del .m:
.h
#import <Foundation/Foundation.h>
@interface DTContactXMLResponse : NSObject {
NSMutableArray *_contact;
}
@property (nonatomic, retain) NSMutableArray *contact;
@end
.metro
#import "DTCXMLResponse.h"
@implementation DTContactXMLResponse
@synthesize contact = _contact;
- (id)init {
if ((self = [super init])) {
self.contact = [[NSMutableArray alloc] init];
}
return self;
}
@end
Así que ahí está. Como puede ver, tengo 'contacto' propiedad en DTCXMLResponse.h, y enlazado en .m.
ios
xml
properties
gdataxml
Spencer Cole
fuente
fuente
self.contact = [[NSMutableArray alloc] init];
debería ser en realidadself.contact = [NSMutableArray array];
, ya que su propiedad ya retiene la matriz.Respuestas:
Este error suele indicar que Xcode no puede reconocer su símbolo. Puedo asumir que esto es DTContact.
Intente insertar esto en su archivo .h:
fuente
No es relevante para tu caso, pero recibí el mismo error. Busqué en Google una solución, pero el problema estaba en mi código. Estaba usando un objeto de clase diferente mientras copiaba y pegaba un fragmento de código similar en mi proyecto. Así que aquí está el problema que tuve por el mismo error:
Para mi classA, tenía un fragmento de código como:
Y código similar para la clase B:
Si miras de cerca, el error fue asignar las entidades correctas a los objetos correspondientes en la clase B.
Entonces el problema está en el código de la clase B. Y el código correcto sería:
ManagedObjectOf ClassB * managedObjectOfClassB = [NSEntityDescription insertNewObjectForEntityForName: @ "ManagedObjectOf ClassB " inManagedObjectContext: managedObjectContext];
managedObjectOf ClassB . somePropertyB .someValue;
Espero que ayude a alguien.
fuente