1

大家好,我有一个非常奇怪的问题。我创建了一个新的 NSObject 子类,但我不能在实现中使用“self.someproperty”。通常当我输入“self”这个词时,Xcode 会猜测我在输入什么,并在点后给我属性名称。但在这种情况下,它并没有给我一个红色错误。我已经检查了我的代码一晚,现在放弃了。所以,希望有人给我一个建议,请让我知道这可能是某个地方的一个小问题?

这是我的代码:

#import <Foundation/Foundation.h>

@interface FlickrPhotoCache : NSObject

+(BOOL)isInCache:(NSDictionary *)photo;

@end



#import "FlickrPhotoCache.h"

@interface FlickrPhotoCache()

@property (nonatomic, strong) NSMutableArray *photos;

@end

@implementation FlickrPhotoCache
@synthesize photos = _photos;

+(BOOL)isInCache:(NSDictionary *)photo
{
    self.photos // here I get error
}

@end

提前致谢!留白

4

1 回答 1

1

您在声明用于静态(类)方法而不是实例方法的方法时使用 +self仅存在于实例方法中。

采用

 -(BOOL)isInCache:(NSDictionary *)photo;

声明将实例变量self用于属性时。

进而

-(BOOL)isInCache:(NSDictionary *)photo
{
    self.photos;
}

工作得很好。

于 2012-04-20T13:35:58.013 回答