问题列表 - 第25318页

游戏状态singleton cocos2d,initWithEncoder总是返回null

我正在尝试在cocos2d中编写一个基本测试"游戏状态"单例,但由于某些原因加载应用程序时,从不调用initWithCoder.任何帮助将不胜感激,谢谢.

这是我的单身GameState.h:


#import "cocos2d.h"

@interface GameState : NSObject <NSCoding>
{
  NSInteger level, score;
  Boolean seenInstructions;
}

@property (readwrite) NSInteger level;
@property (readwrite) NSInteger score;
@property (readwrite) Boolean seenInstructions;

+(GameState *) sharedState;
+(void) loadState;
+(void) saveState;

@end
Run Code Online (Sandbox Code Playgroud)

...和GameState.m:


#import "GameState.h"
#import "Constants.h"

@implementation GameState

static GameState *sharedState = nil;

@synthesize level, score, seenInstructions;

-(void)dealloc {
  [super dealloc];
}

-(id)init {
  if(!(self = [super init]))
    return nil;  
  level = 1;
  score = 0;
  seenInstructions = NO;

  return self;
}

+(void)loadState {
  @synchronized([GameState …
Run Code Online (Sandbox Code Playgroud)

singleton nskeyedarchiver cocos2d-iphone nsdata iphone-sdk-3.0

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

如何在字符串中使用编译时常量__LINE__?

我可以使用__LINE__方法参数就好了,但我想在一个使用字符串的函数中使用它.

比如说我有这个:

11    string myTest()
12    {
13     if(!testCondition)
14       return logError("testcondition failed");
15    }
Run Code Online (Sandbox Code Playgroud)

我希望函数的结果是:

"myTest第14行:testcondition失败"

我怎么写logError?它是否必须是一个宏观的怪物?

c++ testing c-preprocessor

16
推荐指数
3
解决办法
2万
查看次数

c中的内联函数

内联函数可以在.h中声明并在.c中定义一次吗?

c inline function

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

以线程安全的方式返回指针

假设我有一个线程安全的Things集合(称之为ThingList),我想添加以下函数.

Thing * ThingList::findByName(string name)
{
  return &item[name]; // or something similar..
}
Run Code Online (Sandbox Code Playgroud)

但通过这样做,我已将线程安全的责任委托给调用代码,该代码必须执行以下操作:

try 
{
  list.lock(); // NEEDED FOR THREAD SAFETY
  Thing *foo = list.findByName("wibble");
  foo->Bar = 123;
  list.unlock();  
}
catch (...) 
{
  list.unlock();
  throw;
} 
Run Code Online (Sandbox Code Playgroud)

显然,RAII锁定/解锁对象会简化/删除try/catch/unlocks,但是调用者仍然很容易忘记.

我看过几个替代方案:

  • 除非你需要修改Thing,否则返回值而不是指针 - 罚款
  • 添加功能ThingList::setItemBar(string name, int value)- 很好,但这些往往会增殖
  • 返回一个指针式对象,它在创建时锁定列表,并在销毁时再次解锁.不确定这是好/坏的做法......

处理这个问题的正确方法是什么?

c++ pointers thread-safety

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

在Perl中执行base36算法的最佳方法是什么?

在Perl中执行base36算法的最佳方法是什么?

更具体地说,我需要能够做到以下几点:

  • 在基数为36的正N位数字上运算(例如数字为0-9 AZ)

    N是有限的,比如说9

  • 提供基本算术,至少以下3:

    • 加法(A + B)

    • 减法(AB)

    • 整个部门,例如楼层(A/B).

    • 严格来说,我真的不需要base10转换能力 - 数字将100%的时间在base36中.所以我很好,如果解决方案没有实现从base36转换回base10,反之亦然.

我不太关心解决方案是否是暴力"转换为基础10并返回"或转换为二进制,或者一些更优雅的方法"本地"执行baseN操作(如上所述,往返于base10转换不是需求).我唯一的三个注意事项是:

  1. 它符合上述最低规格

  2. 这是"标准".目前我们正在使用基于base10转换的老本土模块,这种模块是手动完成的,这种模块很糟糕,很糟糕.

    我宁愿用一些常用的CPAN解决方案取而代之,而不是从头开始重新编写自己的自行车,但如果不存在更好的标准可能性,我完全有能力构建它.

  3. 它必须是快速的(虽然不是闪电般快).需要1秒才能总结2个9位数的base36数字的东西比我自己可以滚动的任何东西都差:)

PS只是提供一些上下文,以防人们决定解决我的XY问题,除了回答上面的技术问题:)

我们有一个相当大的树(作为一堆边存储在DB中),我们需要在该树的子集上叠加顺序.树的尺寸在深度和宽度方面都很大.树非常积极地更新(插入和删除以及分支移动).

目前这是通过具有3列的第二个表来完成的:parent_vertex, child_vertex, local_order其中local_order是由A-Z0-9构建的9个字符的字符串(例如,基数36的数字).

其他考虑因素

  • 要求每个孩子的本地订单是唯一的(并且每个父母显然是唯一的),

  • 父母的任何完整的重新排序都有些昂贵,因此实现是尝试为具有X个子节点的父节点分配在0到36**10-1之间有些均匀分布的顺序,因此几乎没有树插入导致完全重新排序.

math perl base-n

6
推荐指数
2
解决办法
1657
查看次数

MySQL Group使用时间戳按天结果

我需要进行以下查询并提取按日分组的订单总数和总和.我正在使用时间戳存储所有内容.

SELECT
    COUNT(id) as order_count,
    SUM(price + shipping_price) as order_sum,
    DAY(FROM_UNIXTIME(created)) as day
FROM `order`
WHERE '.implode(' AND ', $where).'
Run Code Online (Sandbox Code Playgroud)

我需要在DAY进行分组,但是当我为上周末的销售工作时,它需要我的order_count并将其设为1而不是3.我如何提取按天分组的上述值?

注意:implode仅用于定义时间段(WHERE创建> = TIMESTAMP AND <= TIMESTAMP)

更新

没有GROUP BY day

Array ( 
    [order_count] => 3
    [order_sum] => 69.70
    [day] => 17
)
Run Code Online (Sandbox Code Playgroud)

使用GROUP BY day

Array ( 
    [order_count] => 1
    [order_sum] => 24.90
    [day] => 17
)
Run Code Online (Sandbox Code Playgroud)

我需要此查询来返回每天有销售,订单数量和销售额的总和.我在这里错过了一块拼图....

mysql timestamp

28
推荐指数
1
解决办法
3万
查看次数

Magento"档案未上传"

我目前正在使用magento管理界面,尝试在"管理产品"中上传图像,我在浏览文件并单击"上传文件"后收到错误"文件未上传".我看过其他论坛,我看到的主要解决方案是确保php.ini有以下几行...

magic_quotes_gpc = off
short_open_tag = on
extension=pdo.so
extension=pdo_mysql.so
Run Code Online (Sandbox Code Playgroud)

我有带ISAPI_Rewrite的Windows/IIS.是否有最大文件上传大小,我可以在某处更改.我正在从我当地的桌面上传大小~100kb的图片.救命!

php file-upload image magento

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

MS Analysis Services用于Python的OLAP API

我正在寻找一种方法来连接到MS Analysis Services OLAP多维数据集,运行MDX查询,并将结果拉入Python.换句话说,正是Excel所做的.Python中是否有解决方案让我这样做?

有类似问题的人指向Django的ORM.尽管我喜欢这个框架,但这并不是我想要的.我也不是在寻找一种拉行和聚合它们的方法 - 这就是Analysis Services首先要做的事情.

想法?谢谢.

python database olap

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

如何处理与NSFetchedResultsController的多对多关系?

好的,所以我的数据模型中有两个实体(比如entityA和entityB),这两个实体之间的关系都是多对多的.

我已经设置了一个NSFetchedResultsController来获取一堆entityA.现在,我正在尝试将tableview的节名称作为entityB的标题.

sectionNameKeyPath:@"entityB.title"
Run Code Online (Sandbox Code Playgroud)

现在这会导致一个问题,即从该关系返回的节名称似乎是({title1})或({title1,title2 ... titleN}),这显然取决于涉及多少个不同的entityB.这在tableview中看起来不太好,并且不会按照我的意愿对对象进行分组.

我想要的是每个entityB标题的一个部分,其中entityA出现在每个部分下,必要时在多个部分下.我不知道我应该如何实现这一点,我是否需要更新谓词以使实体多次出现,或者是否需要更新section和header函数来进行一些处理,因为控制器循环通过对象.

任何帮助表示赞赏:)

谢谢

iphone core-data objective-c nsfetchedresultscontroller

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

在Rails应用程序中存储全局变量的最佳位置在哪里?

我想知道是否有关于在rails应用程序中存储全局设置的最佳实践.我的意思是:我有一些可能会改变的全局变量,但不太可能,因为它们被如此多地使用而将它们存储在DB中似乎是不合适的.例如,我有SYSTEM_EMAIL&SYSTEM_EMAIL_SIGNATURE和SYSTEM_STORAGE_ROOT.

现在我将它们保存在environment.rb中,但我不确定这是否适合存储它们.

谢谢

编辑:

接受的答案仍然适当,但我转而使用 https://github.com/markbates/configatron,还有其他选择,但我最喜欢configatron.

ruby ruby-on-rails environment-variables

12
推荐指数
2
解决办法
4704
查看次数