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 に答える