2012-02-08 3 views
0

私はNSArrayに私のtouchesMoved値を保存したいのですが、どうすればそれを保存できますか?今私はタッチを移動する値を格納しようとするが、私は値を印刷されません。ここ は私のコードiPhoneのNSArrayにtouchesMoved値を格納する

- (void)initWithSize:(int)nX height:(int)nY { 
    xWidth = nX; 
    yHeight = nY; 

     xArray = [[NSMutableArray alloc] initWithCapacity:xWidth]; 

     for (int i = 0; i < xWidth; i++) { 

      yArray = [[NSMutableArray alloc] initWithCapacity:yHeight]; 

      for (int j = 0; j < yHeight; j++) {     

      } 

      roomArray = [[NSArray alloc] initWithArray:yArray]; 
      [xArray addObject:roomArray]; 
      [roomArray release]; 
      [yArray release]; 


     } 

である私は、この

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { 

     NSString *myArrayString = [xArray description]; 
      NSLog(@"screeX:%@ ",xArray);  
    } 

のように、この値を印刷しますが、私は私のコンソール出力でそのピクセルを取得did'tこの

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { 
    UITouch *touch = [touches anyObject]; 
    CGPoint currentPoint = [touch locationInView:self]; 

    [self initWithSize:currentPoint.x height:currentPoint.y]; 

} 

のように、このメソッドを呼び出します このように出力されました

screeX:(
     (
    ), 
     (
    ), 
     (
    ), 
     (
    ), 
     (
    ), 
     (
    ), 
     (
    ), 
     (
+0

urコードごとに、アレイは割り切れたタッチが動かされるたびに割り当てられます。 – vishy

+0

@vishyは配列にその値を格納するために何ができるのですか? –

+1

以下の答えを試してみて、結果を教えてください – vishy

答えて

1

あなたの実装方法は適切ではありません。

  1. NSMutableArrayオブジェクトを.hファイルで宣言します。

    NSMutableArray *_array; 
    
  2. viewDidLoadに配列を割り当てることができます。

    _array = [[NSMutableArray alloc] init]; 
    
  3. touchesBeginにおいて、アレイのすべてのオブジェクトを削除します。 touchesMoved

    [_array removeAllObjects]; 
    
  4. 、次のようにアレイにCGPoint Sを加えます。今

[_array addObject:[NSValue valueWithCGPoint: currentPoint]]; 

touchesEndedで、配列を印刷して、値を参照してください。

+0

私はすべてのステップを尽くしましたが、私はこのscreeXのように入れました。(null) –

+0

私は私の答えを更新しました..この? – Ilanchezhian

+0

また、あなたの 'viewDidLoad'が呼び出されていることを確認してください。そうでない場合は、クラスの' init'メソッドで配列を割り当ててください。 – Ilanchezhian

関連する問題