3

あるメソッドに使用される変数を保存し、それを別のアプリのメソッドで呼び出したいと考えています。これはグローバル/外部/静的変数と関係がありますか? もしそうなら、どのように設定するのだろうと思っていました。グローバルと静的を使用しようとしましたが、成功しませんでした。

newX と newY の情報を保持しようとしています

-(void) accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration
{
...
    int newX = (int)(Button.center.x + valueX);
    int newY = (int)(Button.center.y + valueY);
...
}

そしてそれを呼び出します

-(IBAction)clicked:(id)sender

{
    randX = arc4random() % 320;
    randY = arc4random() % 548;

    CGPoint randNewPlace = CGPointMake(randX, randY);
    Rand.center = randNewPlace;



    if (newX == randX || newY  == randY)
    {
        [Rand sendActionsForControlEvents:UIControlEventTouchUpInside];
    }
}

ありがとう。

4

3 に答える 3

2

以下のようにするだけです

プロパティを宣言する

@property(nonatomic,weak) int newX;
@property(nonatomic,weak) int newY;

-(void) accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration
{
...
    self.newX = (int)(Button.center.x + valueX);
    self.newY = (int)(Button.center.y + valueY);
...

}

-(IBAction)clicked:(id)sender

{
   randX = arc4random() % 320;
   randY = arc4random() % 548;

   CGPoint randNewPlace = CGPointMake(randX, randY);
   Rand.center = randNewPlace;

   if (self.newX == randX || self.newY  == randY)
   {
      [Rand sendActionsForControlEvents:UIControlEventTouchUpInside];
   }
}
于 2013-03-27T18:09:20.953 に答える
1

不変の定数変数を定義したい場合は、.h と .m で定義します。

たとえば、黒を .h の 16 進数文字列として定義したい場合は、@interfaceの上に置きます。

// Default Black
extern NSString * const Black;

次に、@implementationの上の .m で

// Default Black
NSString * const Black      = @"0xFF000000";

変数Blackを呼び出すと、常に 0xFF000000が返され ます。もちろん、任意のタイプの変数を定義できます。NSString である必要はありません。extern変数をアプリケーションの残りの部分に公開するだけです。

それが役立つことを願っています!

于 2013-03-27T18:13:54.067 に答える
0

@property (非アトミック) int newX,newY;

それらにアクセスするには、クラスをインスタンス化してからドット表記を使用します。Class.newX

于 2013-03-27T18:07:52.397 に答える