gpt4 book ai didi

objective-c - 在转发类中找不到属性

转载 作者:可可西里 更新时间:2023-11-01 03:26:29 25 4
gpt4 key购买 nike

我有一个问题困扰了我一段时间 - 特别是因为它对我来说没有任何意义。

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 时的方法和“找不到属性”

有问题的属性是简单的 NSString,所以我怀疑其他类不知道 NSString 类可能是个问题?

在此先感谢您的帮助! =)

最佳答案

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

关于objective-c - 在转发类中找不到属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10992530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com