0

我只需要声明和初始化以下三个股票期权。我有一些伪代码来实现它,但我不确定如何让它工作。

这是在.miOS 应用程序的文件中声明的,文件中没有任何内容.h

伪代码如下:

// _msftStockPrice _googStockPrice _applStockPrice need to be class level
if(_msftStrockPrice == nil)
googStockPrice = [[[CPDStockPriceStore sharedInstance] monthlyPrices:CPDTickerSymbolMSFT]

if(_appleStrockPrice == nil)
_msftStockPrice = [[[CPDStockPriceStore sharedInstance] monthlyPrices:CPDTickerSymbolMSFT]


if(_msftStrockPrice == nil)
msftStockPrice = [[[CPDStockPriceStore sharedInstance] monthlyPrices:CPDTickerSymbolMSFT]

if ([plot.identifier isEqual:CPDTickerSymbolAAPL] == YES) {
   return [_appleStockPrice objectAtIndex:index];
} else if ([plot.identifier isEqual:CPDTickerSymbolGOOG] == YES) {
   return [[_googStockPrice objectAtIndex:index];
} else if ([plot.identifier isEqual:CPDTickerSymbolMSFT] == YES) {
   return [_msftStockPrice objectAtIndex:index];
}
4

1 回答 1

0

不要将变量声明为属性或实例变量,而是声明为静态变量。要么在 .m 文件的顶部范围内,要么如果上面的方法是访问这些变量的唯一位置,就在该方法内。像这样:

static NSArray *anArray=nil;

静态变量将对您的类的所有实例可见。显然,根据您的设计(线程),您需要防范由并发访问引起的问题。

于 2013-08-28T14:19:40.520 回答