Я адаптую цей підручник до свого додатка, і я звів його до останньої помилки, яка зупиняє мене в моїх слідах. Програма не може знайти властивість в іншому файлі, але ця властивість чітко визначена. Ось код, про який йдеться:
Фактичний рядок помилки:
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.
self.contact = [[NSMutableArray alloc] init];
повинен бути насправдіself.contact = [NSMutableArray array];
, оскільки ваше майно вже зберігає масив.