未触发iOS XYPieChart数据源方法

未触发iOS XYPieChart数据源方法,ios,delegates,protocols,Ios,Delegates,Protocols,我正在尝试实现XYPieCharts,但目前无法将其显示出来。在调试过程中,我在数据源方法中放置了一些日志语句,但没有触发任何日志语句 我已经包括了委托(未使用)和数据源 @interface DwinklySalaryViewController : UIViewController <UITextFieldDelegate, XYPieChartDelegate, XYPieChartDataSource> @property (nonatomic, strong) IBOu

我正在尝试实现XYPieCharts,但目前无法将其显示出来。在调试过程中,我在数据源方法中放置了一些日志语句,但没有触发任何日志语句

我已经包括了委托(未使用)和数据源

@interface DwinklySalaryViewController : UIViewController <UITextFieldDelegate,  XYPieChartDelegate, XYPieChartDataSource>

@property (nonatomic, strong) IBOutlet XYPieChart *salaryPieChart;
然后,我实现了数据源协议所需的方法:

- (NSUInteger)numberOfSlicesInPieChart:(XYPieChart *)pieChart
{
    NSLog(@"Number of slices: %d", pieChartSlices.count);
    return pieChartSlices.count;
}

- (CGFloat)pieChart:(XYPieChart *)pieChart valueForSliceAtIndex:(NSUInteger)index
{
    NSLog(@"Value slice: %d", [[pieChartSlices objectAtIndex:index] intValue]);
    return [[pieChartSlices objectAtIndex:index] intValue];
}

- (UIColor *)pieChart:(XYPieChart *)pieChart colorForSliceAtIndex:(NSUInteger)index
{
    NSLog(@"Returning %@", [sliceColors objectAtIndex:(index % sliceColors.count)]);
    return [sliceColors objectAtIndex:(index % sliceColors.count)];
}

谁能告诉我我遗漏了什么导致数据源方法无法触发?

按照XYPieChart的工作方式,您可以在启动时对其调用重载数据。它在viewDidLoad或ViewDidDisplay中工作正常。

您在viewDidLoad或ViewDidDisplay中调用了reloadData吗?@rdelmar噢,我不知道我必须在第一次加载时显式调用它。我假设只有在更新初始数据时才需要重新加载。让我尝试一下,并报告一下结果@rdelmar它工作得很好:)请添加一个答案,这样我就可以接受了。
- (NSUInteger)numberOfSlicesInPieChart:(XYPieChart *)pieChart
{
    NSLog(@"Number of slices: %d", pieChartSlices.count);
    return pieChartSlices.count;
}

- (CGFloat)pieChart:(XYPieChart *)pieChart valueForSliceAtIndex:(NSUInteger)index
{
    NSLog(@"Value slice: %d", [[pieChartSlices objectAtIndex:index] intValue]);
    return [[pieChartSlices objectAtIndex:index] intValue];
}

- (UIColor *)pieChart:(XYPieChart *)pieChart colorForSliceAtIndex:(NSUInteger)index
{
    NSLog(@"Returning %@", [sliceColors objectAtIndex:(index % sliceColors.count)]);
    return [sliceColors objectAtIndex:(index % sliceColors.count)];
}