2011-01-27 2 views
0

NSIntegerを持つクラスがあり、NSIntegerの値を返したいと思います。何らかの理由で、そのコードは機能していません。私はすでにNSIntegerクラスの@propertyを宣言しています。NSIntegerのゲッターが機能しない

@property (readwrite, assign, nonatomic) NSInteger numberFun; 
- (NSInteger)sampleMethod { 
    ... 
    return sample.numberFun; 
} 

コンパイラは「キャストなしでポインタから戻す」と言います。私は、それがobjective-cメソッドにCタイプを使用していることを意味していると確信しています。私はこれのための回避策を知りたい。 (NSNumberとしてキャストされたNSIntegerを返すことは望ましくありませんが)。

ありがとうございました

+0

あなたは数字をまとめたのですか? – kevboh

答えて

0

次のコードサンプルはうまくコンパイルされます。私はあなたの問題のより完全な例を提示し、あなたが間違っていることを理解することをお勧めします。

@interface MyObject : NSObject 
{ } 
@property (readwrite, assign, nonatomic) NSInteger numberFun; 
@end 


@implementation MyObject 
@synthesize numberFun; 
@end 


@interface MyObject2 : NSObject 
{ } 
@property (nonatomic, copy) MyObject* sample; 
@end 


@implementation MyObject2 
@synthesize sample; 
- (NSInteger)sampleMethod { return sample.numberFun; } 
@end 
+0

'@property(nonatomic、copy)MyObject * sample;'は混乱します。私は 'MyObject2'を削除し、単に' MyObject'を割り当て、 'numberFun'を取得/設定する' main() 'を表示することをお勧めします。 (それ以上の良い答え) – bbum

関連する問題