属性未找到类型的对象

时间:2012-08-26 11:27:42

标签: objective-c ios

这是我试图在IOS中构建的第一个应用程序,但我遇到了一些问题。虽然我在这里读过类似的帖子,但我找不到答案。

这是我的课程:

Homeview.h

@interface HomeView : UIViewController{

    NSString *parsed_date;
}

@property (nonatomic,retain) NSString *parsed_date;

@end

Homeview.m

@synthesize parsed_date;
parsed_date=[res objectForKey:@"date"];

我希望在我的主视图中正常打印的日期在其他视图中传递。

这是我的另一堂课:

Otherclass.h

#import <UIKit/UIKit.h>

@interface OtherView : UIViewController{
    NSString* tracks_date;
}
@property (nonatomic,retain) NSString* tracks_date;
@end

Otherclass.m

#import "OtherView.h"
#import "HomeView.h"

@interface OtherView ()

@end

@implementation OtherView
@synthesize tracks_date;

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    //preview value of other class
    NSLog(@"Dated previed in OtherView: %@", HomeView.parsed_date); //HERE IS THE ERROR
}

- (void)viewDidUnload
{
    [super viewDidUnload];
    // Release any retained subviews of the main view.
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

@end

这是我的错误:

property parsed_date not found on object of type "HomeView"

2 个答案:

答案 0 :(得分:3)

问题是您没有使用HomeView实例。您需要实例化HomeView,然后您可以通过新实例访问该属性。

它应该看起来像这样:

- (void)viewDidLoad
{
    [super viewDidLoad];

    // Do any additional setup after loading the view.
    HomeView *homeView = [[HomeView alloc] init];
    homeView.parsed_date = ...assign a value to the property

    //preview value of other class
    NSLog(@"Dated previed in OtherView: %@", homeView.parsed_date); //read the value
}

答案 1 :(得分:0)

如果你真的很确定,你已经正确地宣布了一切,但你仍然得到“未找到财产”,那么:

确保您的所有文件都在同一个文件夹中。

因为这就是发生在我身上的事。我有两个项目文件夹,其中一个用于测试。我不小心将一些文件从测试文件夹拖到我的主要xcode项目。它仅在使用旧属性时编译好,但始终会出现“找不到属性”错误,因为测试文件夹中的文件无法看到我添加到主项目中的新属性。

希望这有助于将来。