我有一个NSString "[{"van" : 1,312, "vuan":12,123}]并且为了获得每个键的这个值,我这样做:
NSData *data1 = [jsonResponse1 dataUsingEncoding:NSUTF8StringEncoding];
jsonArray = [NSJSONSerialization JSONObjectWithData:data1 options:kNilOptions error:&err];
self.van = [NSMutableArray arrayWithCapacity:1];
self.vuan = [NSMutableArray arrayWithCapacity:1];
for (NSDictionary *json in jsonArray) {
NSString * value = [json objectForKey:@"van"];
[self.van addObject:value];
lbl1.text = value;
NSString * value1 = [json objectForKey:@"vuan"];
[self.vuan addObject:value1];
lbl4.text = value1;
}
Run Code Online (Sandbox Code Playgroud)
可能是我不必使用数组而是NSData直接转换为NSDictionary.
反正,我不明白为什么jsonArray是nil,尽管jsonResponse1包括我上面写的值.
编辑:我的老板写错了json字符串.谢谢大家的建议!:)
当我在y轴上只显示一个间隔时,我想在屏幕上看到x轴.当间隔从0显示时,x轴是可见的,所以我认为我应该使用yRange向上移动x轴,但我不确切知道如何做到这一点.
这是我设置xRange和yRange的部分.对于y轴,我搜索我想要显示的最小值和最大值.
CPTMutablePlotRange *xRange = [plotSpace.xRange mutableCopy];
[xRange expandRangeByFactor:CPTDecimalFromCGFloat(1.1f)];
plotSpace.xRange = xRange;
//CPTMutablePlotRange *yRange = [plotSpace.yRange mutableCopy];
//[yRange expandRangeByFactor:CPTDecimalFromCGFloat(1.2f)];
//plotSpace.yRange = yRange;
cpd = [CPDStockPriceStore sharedInstance];
NSMutableArray *arr = cpd.prices;
minY = 10000;
maxY = 0;
for (unsigned i = 1; i < [arr count]; i++){
if([[arr objectAtIndex:i] intValue] < minY) minY = [[arr objectAtIndex:i]intValue];
if([[arr objectAtIndex:i] intValue] > maxY) maxY = [[arr objectAtIndex:i]intValue];
}
CGFloat yMin = 100*((minY-200)/100);
CGFloat yMax = 100*((maxY+200)/100); // should determine dynamically based on max …Run Code Online (Sandbox Code Playgroud) 我在这个网站上发现了类似的问题,我尝试了一些方法,但是我没有成功.
我希望绘图符号在选中时更改其颜色,以便准确查看选择了哪个符号.我查看了CPTTestApp(在Core Plot示例文件夹中),查看示例,从我在本网站上看到的内容,我必须使用plot参数,以决定是否返回自定义符号.但我不知道这个情节参数是什么.
如何检测选择了哪个符号,以便更改它的颜色?通过使用索引?
很抱歉对如何使用此方法感到有点困惑.我做了研究,我会继续,但也许有人有想法.
我发现了一个方法symbolForScatterPlot应该给我预期的结果,但我不知道selectIndex是什么变量,我应该如何声明它以及在哪里使用它.我从这里采用这个方法更改CPScatterPlot的线条样式用于不同的点 ,它看起来像这样:
- (CPPlotSymbol *)symbolForScatterPlot:(CPScatterPlot *)plot recordIndex:(NSUInteger)index
{
CPMutableLineStyle *symbolLineStyle = [CPMutableLineStyle lineStyle];
symbolLineStyle.lineColor = [CPColor blackColor];
CPPlotSymbol *plotSymbol = [CPPlotSymbol ellipsePlotSymbol];
plotSymbol.lineStyle = symbolLineStyle;
if (_selectedIndex != NSNotFound && index == _selectedIndex)
{
plotSymbol.symbolType = CPPlotSymbolTypeDiamond;
plotSymbol.size = CGSizeMake(12, 12);
plotSymbol.fill = [CPFill fillWithColor:[CPColor redColor]];
}
else
{
plotSymbol.symbolType = CPPlotSymbolTypeEllipse
plotSymbol.size = CGSizeMake(8, 8);
plotSymbol.fill = [CPFill fillWithColor:[CPColor greenColor]];
}
return plotSymbol;
}
Run Code Online (Sandbox Code Playgroud)