我的班级中有一个NSMutablearray属性,我需要从另一个类访问它我该怎么办?我尝试使用名为breakfast的类方法访问它,但它没有看到属性!!
这是我的代码
@interface FirstViewController : UIViewController {
NSMutableArray *food;
}
+ (NSArray*)breakfast;
@property (nonatomic , strong) NSMutableArray * food;
//在.m文件中
+ (NSMutableArray*)breakfast {
return self.food ; // here class method dont see the property called food
}
答案 0 :(得分:0)
您可以这样做:
// FirstViewController.h
@interface FirstViewController : UIViewController {
}
+(NSMutableArray*) breakfast;
// FirstViewController.m
+(NSMutableArray*) breakfast
{
static NSMutableArray* _breakfast = nil;
if (_breakfast == nil)
{
// _breakfast alloc init
}
return _breakfast;
}
答案 1 :(得分:-1)
最大的问题是你不能在静态(+)方法中使用“self.propertyname”。你需要有一个类的实例来调用self。
其他问题是你有“食物”和“食物” - 在@property和你试图使用的getter中的不同情况 - 它们区分大小写。 你还有.m和.h文件中的NSArray和NSMutableArray。 最重要的是 - 你真的不需要这个局部变量声明。
我认为你以错误的方式描述了你的问题。如果要在视图控制器之间传递数据,请选中:Passing Data between View Controllers
如果您希望将数据提供给一般的应用程序 - 创建单例。