我正在尝试设置两个类似于Core Plot提供的AAPlot样本的图表.它基本上包括一个几乎正确显示的股票图表和第二个图表(交易量表),它应该直接放在股票图表下方.两个图表应共享相同的x轴.
不幸的是,体积图的数据没有在我的应用程序中绘制.
即使我将示例源代码与我的强烈对比,我也找不到错误的来源.
你能指点我正确的方向吗?
这是我的代码:
- (void)configureChart
{
self.graph = [[CPTXYGraph alloc] initWithFrame:self.hostView.bounds];
self.hostView.hostedGraph = self.graph;
self.graph.paddingLeft = 0.0f;
self.graph.paddingTop = 0.0f;
self.graph.paddingRight = 0.0f;
self.graph.paddingBottom = 0.0f;
self.graph.axisSet = nil;
// 2 - Set up text style
CPTMutableTextStyle *textStyle = [CPTMutableTextStyle textStyle];
textStyle.color = [CPTColor grayColor];
textStyle.fontName = @"Helvetica-Bold";
textStyle.fontSize = 16.0f;
// 3 - Configure title
NSString *title = self.issue.company.companyName;
_graph.title = title;
_graph.titleTextStyle = textStyle;
_graph.titlePlotAreaFrameAnchor = CPTRectAnchorTop;
_graph.titleDisplacement = CGPointMake(0.0f, -12.0f);
// 4 - Set …Run Code Online (Sandbox Code Playgroud) 我试图将包含值0.305的NSNumber格式化为"30.5%".
但是,我的以下代码不起作用:
[numberFormatter setNumberStyle:NSNumberFormatterPercentStyle];
[numberFormatter setLocale:[NSLocale currentLocale]];
Run Code Online (Sandbox Code Playgroud)
如何指定该数字应格式化为具有一个小数位的百分比?
我有一个自定义对象,其中包含基于时间段的信息,例如endCalYear,endMonth和periodLength属性,它们表示每个句点的结束及其长度.
我想创建一个NSSortDescriptor基于或者其他排序方法,它结合这三个属性,并允许同时在所有三个键上排序此对象.
例:
EndCalYear endMonth periodLength (months) sortOrder
2012 6 6 1
2012 6 3 2
2012 3 3 3
2011 12 12 4
Run Code Online (Sandbox Code Playgroud)
排序算法将完全根据我自己的算法自行决定.
我怎么能编写这样的算法?
基于块的sortDescriptorWithKey:ascending:comparator:方法在我的视图中不起作用,因为它允许我只指定一个排序键.但是,我需要同时对所有三个键进行排序.
关于如何解决这个问题的想法或想法?
谢谢!
我使用下面的代码从我的后端服务器(parse.com)下载数据(历史外汇汇率)到我的应用程序的核心数据存储.
该应用程序检查本地存储的最新可用数据,并仅从服务器获取较新的数据.如果还没有本地存储的数据,它将从服务器获取所有数据.
设置代码的方式是,它以100个对象的批量获取数据,将对象保存在Core Data中,获取当前存储数据的新的最新日期(通过使用NSExpression)并获取下一批,直到不再有新的对象留在服务器上(objects.count = 0).
由于提取速度很慢,我决定在后台线程上运行提取和Core Data保存(使用iOS 5提供的新Core Data多线程模型).
从后端服务器获取工作正常,但......
似乎只有那些对象由NSExpression存储在磁盘上(物理上存储在数据库中)而不是仍在内存中的对象进行评估,并且很快就会被保存.因此,fetch主要从磁盘(内存)中检索"旧"值.
但是,当使用以下fetch代码(没有NSExpression和NSDictionary作为结果类型)时,我得到当前和正确的值:
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:localEntityName];
NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"date" ascending:YES];
request.sortDescriptors = @[sortDescriptor];
NSArray *results = [backgroundContext executeFetchRequest:request error:&error];
ForexHistory *forexHistoryItem = results.lastObject;
NSDate *lastLocalDate = forexHistoryItem.date;
NSLog(@"last local date results: %@",lastLocalDate);
Run Code Online (Sandbox Code Playgroud)
我的代码下面有什么问题,它使用NSExpression和字典作为获取结果类型?
如何确保NSExpression查找最新本地可用日期的日期返回最新日期?
- (void)seedForexHistoryInManagedObjectContext:(NSManagedObjectContext*)context {
NSString* const localEntityName = @"ForexHistory";
NSString* const parseEntityName = localEntityName;
NSString* …Run Code Online (Sandbox Code Playgroud) core-data objective-c grand-central-dispatch ios nsexpression
我试图通过创造类别"假"的实例变量objc_setAssociatedObject的描述,在此职位.
但是,我在iOS 6.1中使用ARC会出现以下错误:Use of undeclared identifier 'OBJC_ASSOCIATION_RETAIN对于以下代码段:
- (void)setStyleName:(NSString *)styleName
{
objc_setAssociatedObject(self, kDHStyleKey, styleName,
OBJC_ASSOCIATION_RETAIN);
}
Run Code Online (Sandbox Code Playgroud)
iOS 6.1有什么变化吗?
我错过了什么?
在GitHub上,我删除了现有的存储库并创建了一个具有相同名称的新存储库Test.
现在,当我第一次尝试将我的本地存储库推送到GitHub时,我收到错误消息:"工作副本已过时.尝试从远程执行以获取最新更改,然后再次推送."
当我试图从GitHub中取出时,我收到错误消息:" Test不是一个有效的远程分支来源.请选择一个不同的远程分支."
我只有一个分支,这是master.
如何使用Xcode 5解决此问题?
每当我刷新的电子表格(在已改变了它的一些应用程序的脚本代码) CMD- R,Safari会自动关闭脚本编辑器选项卡.
如何避免此标签被关闭?
我想将以下Node.JS代码段转换为JavaScript在Google Apps脚本中运行它:
来自:Node.JS
function getMessageSignature(path, request, nonce) {
var message = querystring.stringify(request);
var secret = new Buffer(config.secret, 'base64');
var hash = new crypto.createHash('sha256');
var hmac = new crypto.createHmac('sha512', secret);
var hash_digest = hash.update(nonce + message).digest('binary');
var hmac_digest = hmac.update(path + hash_digest, 'binary').digest('base64');
return hmac_digest;
}
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止所尝试的代码(以及它的许多变体):
收件人:JavaScript/Google Apps脚本
function getMessageSignature(url, request, nonce) {
// Message signature using HMAC-SHA512 of (URI path + SHA256(nonce + POST data))
//and base64 decoded secret API key
const secretApiKey = 'wdwdKswdKKewe23edeYIvL/GsltsGWbuBXnarcxZfu/9PjFbXl5npg=='; …Run Code Online (Sandbox Code Playgroud) javascript hash digest-authentication node.js google-apps-script
我正在使用Core Plot 条形图来描绘公司的增长率.我想将公司的股票符号作为x轴上的标签,其中心位于各自的条形下方.不幸的是,我花了很多时间寻找一种正确对准x标签的方法,但是使用我的代码却没有成功.如何让x轴标签正确居中?
我的图表设置如下:
CPTBarPlot *barPlot = [CPTBarPlot tubularBarPlotWithColor:[CPTColor blueColor] horizontalBars:NO];
barPlot.baseValue = CPTDecimalFromInt(0);
barPlot.barOffset = CPTDecimalFromFloat(0.5f);
barPlot.barWidth = CPTDecimalFromFloat(0.5f);
double xAxisStart = 0;
double xAxisLength = self.companies.count;
double yAxisStart = 0;
double yAxisLength = 0.5;
CPTXYPlotSpace *plotSpace = (CPTXYPlotSpace *)graph.defaultPlotSpace;
plotSpace.xRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromDouble(xAxisStart) length:CPTDecimalFromDouble(xAxisLength + 1.0)] ;
plotSpace.yRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromDouble(yAxisStart) length:CPTDecimalFromDouble(yAxisLength)] ;
barPlot.plotRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromDouble(+0.0) length:CPTDecimalFromDouble(xAxisLength)] ;
Run Code Online (Sandbox Code Playgroud)
在下面的代码片段中,我尝试使用自定义标签,但没有成功,如下面的示例图表所示.
xAxis.labelingPolicy = CPTAxisLabelingPolicyNone;
NSMutableArray *customLabels = [[NSMutableArray alloc]init];
[self.companies enumerateObjectsUsingBlock:^(IBCompany *company, NSUInteger idx, …Run Code Online (Sandbox Code Playgroud) ios ×6
objective-c ×6
core-plot ×2
javascript ×2
charts ×1
cocoa-touch ×1
comparison ×1
core-data ×1
cryptojs ×1
git ×1
github ×1
hash ×1
ios5 ×1
ios6 ×1
node.js ×1
nsexpression ×1
nsnumber ×1
sjcl ×1
sorting ×1
xcode5 ×1