Ich passe dieses Tutorial an meine App an und habe es auf einen letzten Fehler reduziert, der mich aufhält. Das Programm kann keine Eigenschaft in einer anderen Datei finden, diese Eigenschaft ist jedoch klar definiert. Hier ist der fragliche Code:
Die eigentliche Fehlerzeile:
for (DTContact *dtc in _dtContact.contact) {
die .h für die Datei und die fraglichen Elemente:
#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
Es gibt Probleme mit _dtContact.contact. Der Kontakt in der Datei DTCXMLResponse kann nicht gefunden werden. Hier ist die .h-Datei und der Abschnitt der .m:
.h
#import <Foundation/Foundation.h>
@interface DTContactXMLResponse : NSObject {
NSMutableArray *_contact;
}
@property (nonatomic, retain) NSMutableArray *contact;
@end
.m
#import "DTCXMLResponse.h"
@implementation DTContactXMLResponse
@synthesize contact = _contact;
- (id)init {
if ((self = [super init])) {
self.contact = [[NSMutableArray alloc] init];
}
return self;
}
@end
Also gibt es das. Wie Sie sehen können, habe ich 'Kontakt' in der DTCXMLResponse.h und in der .m verlinkt.
ios
xml
properties
gdataxml
Spencer Cole
quelle
quelle
self.contact = [[NSMutableArray alloc] init];
sollte eigentlich seinself.contact = [NSMutableArray array];
, da Ihre Eigenschaft das Array bereits beibehält.Antworten:
Dieser Fehler weist normalerweise darauf hin, dass Xcode Ihr Symbol nicht erkennen kann. Ich kann davon ausgehen, dass dies DTContact ist.
Versuchen Sie dies in Ihre .h-Datei einzufügen:
quelle
Es ist nicht relevant für Ihren Fall, aber ich habe den gleichen Fehler erhalten. Ich habe nach einer Lösung gegoogelt, aber das Problem war in meinem Code. Ich habe ein anderes Klassenobjekt verwendet, als ich einen ähnlichen Codeausschnitt in mein Projekt kopiert und eingefügt habe. Also hier ist das Problem, das ich für den gleichen Fehler hatte:
Für meine Klasse A hatte ich ein Code-Snippet wie:
Und ähnlicher Code für Klasse B:
Wenn Sie genau hinschauen, bestand der Fehler darin, den entsprechenden Objekten in Klasse B die richtigen Entitäten zuzuweisen.
Das Problem liegt also im Code der Klasse B. Und der richtige Code wäre:
ManagedObjectOf ClassB * managedObjectOfClassB = [NSEntityDescription insertNewObjectForEntityForName: @ "ManagedObjectOf ClassB " inManagedObjectContext: managedObjectContext];
managedObjectOf ClassB . somePropertyB .someValue;
Ich hoffe das hilft jemandem.
quelle