2015-10-19 114 views
0

我是新手。我有一个名为dailyPortfolioPrices一个NSObject类,并在接口文件我声明3种性质如何在饼图中显示两个值

dailyPortfolioPrices.h

@interface dailyPortfolioPrices : NSObject 

@property (nonatomic, weak) NSDecimalNumber *num1; 

@property (nonatomic, weak) NSDecimalNumber *num2; 

@property (nonatomic, weak) NSDecimalNumber *num3; 

dailyPortfolioPrices.m文件

我合成上述声明的属性。我创建了一个名为PageContentViewControllerUIViewController类,用于显示。

在PageContentViewController.m文件的voidDidAppear我宣布为dailyPortfolioPrices值一样

dailyPortfolioPrices *dailyPortfolioPrices1 = [dailyPortfolioPrices new]; 
dailyPortfolioPrices1.num1 = @"586.13"; 
dailyPortfolioPrices1.num2 = @"606.53"; 
dailyPortfolioPrices1.num3 = @"32.03"; 


dailyPortfolioPrices *dailyPortfolioPrices2 = [dailyPortfolioPrices new]; 
dailyPortfolioPrices2.num1 = @"426.13"; 
dailyPortfolioPrices2.num2 = @"506.53"; 
dailyPortfolioPrices2.num3 = @"22.03"; 


dailyPortfolio = [NSArray arrayWithObjects: dailyPortfolioPrices1, dailyPortfolioPrices2, nil]; 

,并做了值编码为

![在这里输入的形象描述] [2]

用于计算百分比值

NSDecimalNumber *price = [dailyPortfolio objectAtIndex:index]; 

NSDecimalNumber *percent = [price decimalNumberByDividingBy:portfolioSum]; 

用于设置显示标签

NSString *labelValue = [NSString stringWithFormat:@"$%0.2f USD (%0.1f %%)", [price floatValue], ([percent floatValue] * 100.0f)]; 

创建和标签文本

return [[CPTTextLayer alloc] initWithText:labelValue style:labelText]; } 

-(NSString *)legendTitleForPieChart:(CPTPieChart *)pieChart recordIndex:(NSUInteger)index { 

    if (index < [[[CPDStockPriceStore sharedInstance] tickerSymbols] count]) { 

     return [[[CPDStockPriceStore sharedInstance] tickerSymbols] objectAtIndex:index]; 

     } 

    return @"N/A"; 
} 

但我的图表没有显示任何数据返回层。任何人都可以告诉我犯了什么错误。我想用index

感谢您的帮助,以显示UIViewControllerpie chart提前

回答

0

enter image description here

可是......为什么呢?

你你的领域比较的东西完全不同的一个常数,因此我确信numberForPlot始终返回0

==========

enter image description here

同样,为什么?

  1. labelText未使用此
  2. 返回一个十进制数,当你需要返回CPTLayer

我不知道你从这个期望是什么......我的意思不是是粗鲁的,但似乎你不知道你在做什么。

+0

u能告诉我怎么能更改 –

+0

删除,如果在你的回报 – AncAinu

+0

我删除一个,但我的图表没有显示任何值 –

0

-numberForPlot:field:recordIndex:必须返回一个数字(或nil)。 dailyPortfolio数组包含其他内容。