나는 적응하고있어 이 튜토리얼을 내 애플 리케이션에, 나는 내 트랙에서 저를 중지하고 마지막 오류로 내려 삶은있어. 프로그램이 다른 파일에서 속성을 찾을 수 없지만 해당 속성이 명확하게 정의되어 있습니다. 문제의 코드는 다음과 같습니다.
실제 오류 라인 :
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
.미디엄
#import "DTCXMLResponse.h"
@implementation DTContactXMLResponse
@synthesize contact = _contact;
- (id)init {
if ((self = [super init])) {
self.contact = [[NSMutableArray alloc] init];
}
return self;
}
@end
그래서 거기에 있습니다. 보시다시피, DTCXMLResponse.h에 ‘contact’가 등록되어 있고 .m.
답변
이 오류는 일반적으로 Xcode가 기호를 인식 할 수 없음을 나타냅니다. 이것이 DTContact라고 가정 할 수 있습니다.
.h 파일에 다음을 삽입하십시오.
#import DTContact.h
답변
귀하의 경우와 관련이 없지만 동일한 오류가 발생했습니다. 해결책을 찾았지만 문제는 내 코드에 있습니다. 내 프로젝트에 유사한 코드 조각을 복사하여 붙여 넣을 때 다른 클래스 개체를 사용했습니다. 그래서 여기에 같은 오류에 대한 문제가 있습니다.
내 classA의 경우 다음과 같은 코드 스 니펫이 있습니다.
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;
누군가에게 도움이되기를 바랍니다.