Ответ 1
Эта ошибка обычно указывает, что Xcode не может распознать ваш символ. Я могу предположить, что это DTContact.
Попробуйте вставить это в свой .h файл:
#import DTContact.h
Я приспосабливаю этот учебник к моему приложению, и у меня есть своя последняя ошибка, которая останавливает меня мои треки. Программа не может найти свойство в другом файле, но это свойство четко определено. Вот код, о котором идет речь:
Фактическая строка ошибки:
for (DTContact *dtc in _dtContact.contact) {
.h для файла и элементов, о которых идет речь:
#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
У него проблемы с _dtContact.contact. Он не может найти контакт в файле DTCXMLResponse. Вот файл .h и раздел .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
Итак, это так. Как вы можете видеть, у меня есть "контакт", связанный с DTCXMLResponse.h, и связанный в .m.
Эта ошибка обычно указывает, что Xcode не может распознать ваш символ. Я могу предположить, что это DTContact.
Попробуйте вставить это в свой .h файл:
#import DTContact.h
Это не относится к делу ур, но я получал ту же ошибку. Я googled для решения, но проблема была в моем коде. Я использовал другой объект класса, так как копировал в моем проекте аналогичный фрагмент кода. Итак, вот проблема, которая была у меня для той же ошибки:
Для моего класса A у меня был фрагмент кода, например:
ManagedObjectOfClassA * managedObjectOfClassA = [NSEntityDescription insertNewObjectForEntityForName:@"ManagedObjectOfClassA" inManagedObjectContext:managedObjectContext];
managedObjectOfClassA.somePropertyA = sameValue; //somePropertyA is an attribute of ManagedObjectOfClassA
И аналогичный код для класса B:
ManagedObjectOfClassA *managedObjectOfClassB = [NSEntityDescription insertNewObjectForEntityForName:@"ManagedObjectOfClassB" inManagedObjectContext:managedObjectContext];
managedObjectOfClassB.somePropertyB = someValue;////somePropertyB is an attribute of ManagedObjectOfClassB
Если вы посмотрите внимательно, ошибка заключалась в назначении правильных объектов соответствующим объектам в классе B.
Итак, проблема в коде класса B. И правильный код:
ManagedObjectOf ClassB * managedObjectOfClassB = [NSEntityDescription insertNewObjectForEntityForName: @ "ManagedObjectOf ClassB" inManagedObjectContext: managedObjectContext];
managedObjectOf ClassB somePropertyB.someValue;.
Я надеюсь, что это поможет кому-то.