0

コードの if ブロックの条件が満たされるたびに 1 ずつ更新されるカウンターを作成したいと考えていました。これを実現するために、.h ファイルでグローバル変数を定義する代わりに、単一のトーンを実装しました………</p>

@interface MONObject : NSObject {
int *counterplus;
}
@property(nonatomic) int *counterplus;
+(MONbject*) sharedinstance;
@end

.m ファイル内

static MON object * sharedinstance;
@implementation MONbject;
@synthesize counterplus;

+(MONbject*)sharedinstance
{
if(!sharedinstance){
sharedinstance=[[MONObject alloc]init];
}
return sharedinstance
}
-(MONObject*) int
{
self=[super init];
if(0!=self){
counterplus=0;
}
return self;
}
@end

上記を次のように呼びます…</p>

if(condition){
[MONObject sharedinstance].counterplus++;
}

を使用してその値を出力しようとするNSLogと、プログラムが停止し、このエラーが表示されます。警告リモート障害応答: E37

私にはまったく手がかりがありません。グローバル変数をexternとして定義して使用しようとし、インクリメントしようとしました。しかし、それは同じエラーを出します。これを達成する方法はありますか?その間違いを教えてください。

4

2 に答える 2

0

そうなる -

@property(nonatomic) int counterplus;

それ以外の -

@property(nonatomic) int *counterplus;

ロギング int 値の場合は、- を使用します。

NSLog(@"%d", counterplus);
于 2012-05-30T07:36:41.267 に答える
0

だろう

@interface MONObject : NSObject {
int counterplus;
}
@property(nonatomic, assign) int counterplus;
+(MONbject*) sharedinstance;
@end

それが役に立てば幸い。幸せなコーディング:)

于 2012-05-30T07:39:49.037 に答える