정방향 클래스 개체에서 속성을 찾을 수 없습니다.
이 자습서를 제 앱에 적용하고 있는데 마지막 오류로 압축되어 제 궤도에 진입할 수 없게 되었습니다.프로그램이 다른 파일에서 속성을 찾을 수 없지만 해당 속성은 명확하게 정의되어 있습니다.문제가 된 코드는 다음과 같습니다.
실제 오차선:
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에 문제가 있습니다.DTCXML 응답 파일에서 연락처를 찾을 수 없습니다.다음은 .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
그래서.보시다시피 저는 DTCXML Response.h에 'contact' 속성이 있고 .m에 링크되어 있습니다.
이 오류는 일반적으로 Xcode가 사용자 기호를 인식할 수 없음을 나타냅니다.이는 DTC 접촉으로 추정할 수 있습니다.
.h 파일에 이 내용을 삽입해 보십시오.
#import DTContact.h
저희 건과는 관련이 없지만 같은 오류가 발생했습니다.구글에서 해결책을 찾아봤지만 문제가 코드에 있었습니다.프로젝트에서 유사한 코드 조각을 복사하여 붙여넣을 때 다른 클래스 개체를 사용하고 있었습니다.같은 오류에 대한 문제는 다음과 같습니다.
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급 코드에 있습니다.그리고 정확한 코드는 다음과 같습니다.
ManagedObjectOfClassB *managedObjectOfClassB = [NSEntityDescription insertNewObjectForEntityForName:@ManagedObjectContext: ManagedObjectContext]의 "ManagedObjectOfClassB";
managedObjectOfClassB.어떤 속성 B.일부 값;
누군가에게 도움이 되었으면 좋겠습니다.
언급URL : https://stackoverflow.com/questions/8577457/property-cannot-be-found-in-forward-class-object
'programing' 카테고리의 다른 글
EF + ODP.NET + CLOB = 값은 Null일 수 없습니다 - 매개 변수 이름: byteArray? (0) | 2023.10.24 |
---|---|
ANTLR을 사용하여 구축된 AST를 출력하는 방법은? (0) | 2023.10.19 |
Spring MVC에 필요한 String 매개 변수가 없습니다. (0) | 2023.10.19 |
스크립트 클래스의 메서드에서 "함수가 아닙니다" 오류가 발생했습니다. (0) | 2023.10.19 |
내 /wp-content/Uploads 폴더에 'cache' 폴더가 있는 이유는 무엇입니까? (0) | 2023.10.19 |