Ios 在转发类对象中找不到属性
我正在适应我的应用程序,我把它归结为最后一个错误,那就是阻止我前进。程序无法在另一个文件中找到属性,但该属性已明确定义。以下是相关代码:Ios 在转发类对象中找不到属性,ios,xml,properties,gdataxml,Ios,Xml,Properties,Gdataxml,我正在适应我的应用程序,我把它归结为最后一个错误,那就是阻止我前进。程序无法在另一个文件中找到属性,但该属性已明确定义。以下是相关代码: #import <UIKit/UIKit.h> @class XMLTestViewController; @class DTCXMLResponse; @interface XMLTestController : UIViewController{ UIWindow *window; XMLTestViewController
#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
实际错误行:
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
就是这样。如您所见,我在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类代码中。正确的代码是:
ManagedObjectOfClassB*ManagedObjectOf ClassB=[NSEntityDescription insertNewObjectForEntityForName:@“managedObjectContext:managedObjectContext中的ManagedObjectOfClassB”
managedObjectOfClassBsomePropertyB.someValue
我希望这对某人有所帮助。注意,行
self.contact=[[NSMutableArray alloc]init]
实际上应该是self.contact=[NSMutableArray]代码>,因为您的属性已经保留了数组。我已经修复了,谢谢。它正在查找文件,而不是属性。我已经试着导入它了,但这是不可能的。我实际上使用了它,并且它是反向的。谢谢伟大的答案,简短,简单,直接解决问题!谢谢检查@class DTContacts非常好的答案简单而且非常有用谢谢:)+1.
ManagedObjectOfClassA *managedObjectOfClassB = [NSEntityDescription insertNewObjectForEntityForName:@"ManagedObjectOfClassB" inManagedObjectContext:managedObjectContext];
managedObjectOfClassB.somePropertyB = someValue;////somePropertyB is an attribute of ManagedObjectOfClassB