-1

さて、私は以前のように配列とそれらの操作方法について学んでいます...... (以前は多くのスクリプトを作成していましたが、今は iPad と iPhone アプリの開発を学ぼうとしています

しかし、私の問題は、for ループを使用して yahoo ファイナンスから大量のデータを取得するところにあります。

しかし、今私の問題は、プルされた配列データの 1 つだけをどのように扱うことができるかです。

これが私の例です

-(IBAction) clicked:(id)sender {

   NSString * StockOneYahooFinance = [NSString stringWithFormat:@"http://finance.yahoo.com/q/hp?s=S+Historical+Prices"];
   NSString * PulledStockOne = [NSString stringWithContentsOfURL:[NSURL URLWithString:StockOneYahooFinance] encoding:1 error:nil];

   for (i=1;i<=10;i++){

      NSString *StartPulling = [[PulledStockOne componentsSeparatedByString:@"nowrap align="] objectAtIndex:i];

      NSString *StartOpen = [[StartPulling componentsSeparatedByString:@">"] objectAtIndex:3];
      NSString *Open = [[StartOpen componentsSeparatedByString:@"<"] objectAtIndex:0];

      NSString *StartClose = [[StartPulling componentsSeparatedByString:@">"] objectAtIndex:9];
      NSString *Close = [[StartClose componentsSeparatedByString:@"<"] objectAtIndex:0];

      NSMutableArray *StockOpens = [[NSMutableArray alloc] initWithCapacity:6];
      [StockOpens addObject:Open];


      sixtyday.text = [OpenValues objectAtIndex:10];
      nintyday.text = [CloseValues objectAtIndex:10];


      if ([OpenValues objectAtIndex:10]=[OpenValues objectAtIndex:11] {
         sevenday.text = @"Plus One";
      } 
   }
}

しかし今、私は次のようなことをしたい

year.text=StockOpens[5];

これどうやってするの。

4

3 に答える 3

1

Xcode 4.4 (LLVM 4.0) 以降では、Objective-C での C スタイルの添字付けにリテラルを使用できます。

year.text = StockOpens[5];

LLVM はここでリテラルの使用を文書化しています: Objective-C Literals

注: Clang はリテラルの使用法 (この場合は ) を変換するためobjectAtIndexedSubscript:、OS X v10.8 (または iOS 6) Foundation フレームワークが必要です。

于 2012-07-28T17:31:36.180 に答える
1

StockOpens は配列オブジェクトであるため、メソッドを呼び出してインデックスでオブジェクトを取得する必要があります。NSMutableArray では、その [StockOpens ObjectAtIndex:5]

year.text = [[StockOpens objectAtIndex:5]StringValue];

StockOpens[5] を行うには、C 配列を使用する必要があります。

于 2012-07-28T16:58:25.663 に答える
0

これは、入力するオブジェクトの種類/クラスによって異なります。StockOpens単に NSStrings の場合は、実行できます。

year.text = [StockOpens objectAtIndex:5];

文字列ではない他のオブジェクトの場合は、その説明を呼び出​​すことができます。

year.text = [[StockOpens objectAtIndex:5] description];

P. s .: developer.apple.com にドキュメントがあります。ぜひお読みください。この質問は非常に単純 (かつ基本的) であるため、SO で質問してはなりません。

于 2012-07-28T17:39:48.857 に答える