小编Ale*_*exR的帖子

核心图:两个图共享相同的x轴

我正在尝试设置两个类似于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)

objective-c core-plot ios ios5

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

Google电子表格:使用Google Apps脚本加密单元格内容

我有一个谷歌电子表格,并希望加密几个单元格的内容(我不关心使用哪种加密方法,只要有一个等效的iOS解密方法).

遗憾的是,Google Apps脚本中没有内置加密功能.

出于这个原因,我想使用像Crypto-JSsjcl这样的开源Javascript库.

如何在Google Apps脚本中使用其中一个库?

在Google Apps脚本文档中,我没有找到任何关于如何在我的Google Apps脚本中使用外部JavaScript库的线索.

javascript google-sheets google-apps-script sjcl cryptojs

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

使用NSNumberFormatter将NSNumber格式化为百分比(%),并带有一个小数位

我试图将包含值0.305的NSNumber格式化为"30.5%".

但是,我的以下代码不起作用:

[numberFormatter setNumberStyle:NSNumberFormatterPercentStyle];
[numberFormatter setLocale:[NSLocale currentLocale]];
Run Code Online (Sandbox Code Playgroud)

如何指定该数字应格式化为具有一个小数位的百分比?

objective-c nsnumber ios

5
推荐指数
2
解决办法
4236
查看次数

NSSortDescriptor:同时对多个键进行自定义比较

我有一个自定义对象,其中包含基于时间段的信息,例如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:方法在我的视图中不起作用,因为它允许我只指定一个排序键.但是,我需要同时对所有三个键进行排序.

关于如何解决这个问题的想法或想法?

谢谢!

sorting comparison objective-c nssortdescriptor ios

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

基于NSExpression的Core Data fetch不检索当前值(iOS 5,GCD)

我想做什么

我使用下面的代码从我的后端服务器(parse.com)下载数据(历史外汇汇率)到我的应用程序的核心数据存储.

该应用程序检查本地存储的最新可用数据,并仅从服务器获取较新的数据.如果还没有本地存储的数据,它将从服务器获取所有数据.

设置代码的方式是,它以100个对象的批量获取数据,将对象保存在Core Data中,获取当前存储数据的新的最新日期(通过使用NSExpression)并获取下一批,直到不再有新的对象留在服务器上(objects.count = 0).

由于提取速度很慢,我决定在后台线程上运行提取和Core Data保存(使用iOS 5提供的新Core Data多线程模型).

从后端服务器获取工作正常,但......

我的问题

似乎只有那些对象由NSExpression存储在磁盘上(物理上存储在数据库中)而不是仍在内存中的对象进行评估,并且很快就会被保存.因此,fetch主要从磁盘(内存)中检索"旧"值.

但是,当使用以下fetch代码(没有NSExpressionNSDictionary作为结果类型)时,我得到当前和正确的值:

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

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

伪造具有关联引用的Objective-C类别中的实例变量 - 错误"使用未声明的标识符'OBJC_ASSOCIATION_RETAIN"

我试图通过创造类别"假"的实例变量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有什么变化吗?

我错过了什么?

cocoa-touch objective-c ios automatic-ref-counting ios6

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

Xcode 5:从新的GitHub存储库推送和拉取不起作用

在GitHub上,我删除了现有的存储库并创建了一个具有相同名称的新存储库Test.

现在,当我第一次尝试将我的本地存储库推送到GitHub时,我收到错误消息:"工作副本已过时.尝试从远程执行以获取最新更改,然后再次推送."

当我试图从GitHub中取出时,我收到错误消息:" Test不是一个有效的远程分支来源.请选择一个不同的远程分支."

我只有一个分支,这是master.

如何使用Xcode 5解决此问题?

git github xcode5

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

Google电子表格:刷新电子表格后,如何让脚本编辑器在另一个标签页中保持打开状态

每当我刷新的电子表格(在已改变了它的一些应用程序的脚本代码) CMD- R,Safari会自动关闭脚本编辑器选项卡.

如何避免此标签被关闭?

google-sheets google-apps-script google-apps-script-editor

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

将Node.JS代码段转换为Javascript(Google Apps脚本)

我想将以下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

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

核心图:x轴上的自定义标签,用于条形图

我正在使用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)

charts objective-c core-plot ios

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