在前瞻课程中找不到财产

时间:2012-06-12 07:52:17

标签: objective-c ios xcode properties

我遇到的问题一直困扰着我 - 特别是因为它对我没有任何意义。

Xcode似乎没有找到我的对象的某些属性,即使它们被正确声明了。这里有一些代码:

.h文件

@interface Start1ViewController : UIViewController {
    NSString *updatedStatus;
    NSString *updatedTime;
}
@property (retain, nonatomic) NSString *updatedTime;
@property (retain, nonatomic) NSString *updatedStatus;

和.m

中的各自合成
#import "Start1ViewController.h"

@implementation Start1ViewController
@synthesize updatedStatus, updatedTime;

我想从持有上述类的实例的对象访问这些属性:

#import <UIKit/UIKit.h>
@class Start1ViewController;


@interface PartyPickerViewController : UIViewController {

IBOutlet UIDatePicker *datePicker;
Start1ViewController *start1ViewController;
}  

的.m

-(IBAction)buttonPressed:(id)sender{

NSDate *selected =[datePicker date];
NSDateFormatter *timeFormatter = [[NSDateFormatter alloc] init];
[timeFormatter setDateFormat:@"HH:mm"];
NSString *dateString = [timeFormatter stringFromDate:selected];
[start1ViewController setUpdatedStatus:@"Party"];
[start1ViewController setUpdatedTime:dateString];
[self.navigationController popViewControllerAnimated:YES];
}

Xcode告诉我setUpdatedStatus和setUpdatedTime不存在......而且它们不起作用。我试过用     start1ViewController.updatedStatus = @ “甲方”; 相反,但这根本不会构建“在Start1ViewController类的对象上找不到属性updatedStatus”

之前我遇到过这个问题,那个时候我通过多次使用。-notation和明确使用setter方法切换它来工作,但即使在其他情况下它确实有效,我仍然会收到警告方法和使用.notation时“找不到属性”

有问题的属性是简单的NSStrings,所以我怀疑它可能是另一个类不知道NSString类的问题吗?

提前感谢您的帮助! =)

1 个答案:

答案 0 :(得分:18)

您是否导入Start1ViewController.h中的PartyPickerViewController.m了? 因为当您在接口@class中使用时,您只需向编译器承诺有一个名为Start1ViewController的类。 但之后,您需要在实现中导入Start1ViewController.h,以使Start1ViewController.h,其属性和方法对其他类可见。