0

这是我尝试在 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"];

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

这是我的另一堂课:

其他类.h

#import <UIKit/UIKit.h>

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

其他类.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"
4

2 回答 2

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
}
于 2012-08-26T11:36:13.800 回答
0

如果您真的确定,您已经正确声明了所有内容,但是您不断收到“找不到属性”,那么:

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

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

希望这对将来的某人有所帮助。

于 2017-09-27T05:41:06.353 回答