小编Mar*_*ica的帖子

我应该如何从json字符串中读取数据?苹果手机

我有一个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.

反正,我不明白为什么jsonArraynil,尽管jsonResponse1包括我上面写的值.

编辑:我的老板写错了json字符串.谢谢大家的建议!:)

json type-conversion nsdata ios

4
推荐指数
1
解决办法
7531
查看次数

当我使用Core-Plot仅显示y轴上的间隔时,如何保持x轴可见

当我在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)

plot core-plot ios axis-labels

2
推荐指数
1
解决办法
1144
查看次数

选择iPhone时如何更改绘图符号的颜色

我在这个网站上发现了类似的问题,我尝试了一些方法,但是我没有成功.

我希望绘图符号在选中时更改其颜色,以便准确查看选择了哪个符号.我查看了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)

plot select symbols highlight ios

1
推荐指数
1
解决办法
865
查看次数