0

在我的Settings.h文件中,我有一行

@property (nonatomic, retain) NSArray * connections;

Settings.m文件中还有导入:

#import "Settings.h"

后来我提供了实现

- (NSArray*)connections 
{
    return connections;
}
- (void)setConnections:(NSArray*)_connections
{
    connections = _connections; 
    // do some more stuff
}

但是在 getter 和 setter 中,我都会收到一个错误,说use of undeclared identifier 'connections' 我不知道​​我做错了什么,所以您的任何帮助将不胜感激!

4

3 回答 3

2
in Settings.m 

@synthesize connections = _connections;

in setting.h
于 2012-12-11T08:17:14.573 回答
0

非常正确,您正在尝试使用 ivar(称为connections)作为您的财产的后备存储,也称为connections;

为了让它工作,你应该像这样简单地声明一个 ivar:

// Settings.h

NSArray * connections;

它应该放在类声明的大括号之间,如下所示:

@interface MyClass : MySuperClass {
    NSArray *connections;
    // More ivars...
}

@property (nonatomic, assign) NSArray *connections;

@end
于 2012-02-13T10:53:47.793 回答
-1

Settings.h添加一个实例变量NSArray *connections;(如果它不存在的话),然后在Settings.m下面@implementation添加这个:

@dynamic connections;

另一种选择是删除您的访问器并使用@synthesize connections;而不是,dynamic并且将为您创建访问器方法。

于 2012-02-13T10:40:01.373 回答