小编jem*_*ons的帖子

如何使用arel/relational代数获取不同的值

我正在尽最大努力使我的大脑围绕着它和它背后的关系代数,但如何表达一个SELECT DISTINCT是一直在逃避我的理解.任何人都可以解释如何bel:

SELECT DISTINCT title FROM posts; 
Run Code Online (Sandbox Code Playgroud)

非常感谢!

relational-algebra distinct arel

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

如何在rails4中为default_url使用摘要感知资产?

在Rails 3,作为使用资产从管道default_urlcarrierwave的上传,你不喜欢的东西如下:

class MyUploader
  # Include the Sprockets helpers for Rails 3.1+ asset pipeline compatibility:
  include Sprockets::Helpers::RailsHelper
  include Sprockets::Helpers::IsolatedHelper

  def default_url
    # For Rails 3.1+ asset pipeline compatibility:
    asset_path("fallback/" + [version_name, "default.png"].compact.join('_'))
  end
end
Run Code Online (Sandbox Code Playgroud)

在导轨4中,管道被抽象到sprockets-rails gem/railtie中,因此上面的内容将为您提供:

未初始化的常量链轮::助手

看看sprockets-rails gem,替换助手似乎就是这样Sprockets::Rails::Helper.但是包含这个模块,asset_path("fallback/default.png")返回,简单地说:

# wrong:
"/fallback/default.png"
Run Code Online (Sandbox Code Playgroud)

不是我期望的资产和摘要感知网址:

"/assets/fallback/default-b3beee1588afe2ae582c64888cd007db.png"
Run Code Online (Sandbox Code Playgroud)

如何asset_path在视图外获得正确的行为?

helper carrierwave asset-pipeline ruby-on-rails-4

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

当presentScene:transition:完成后,如何通知传入的场景?

假设我正在从一个旧SKScene的过渡SKView到一个新的:

//In some controller somewhere...
-(void)swapScenes{
  MySceneSubclass *newScene = [[MySceneSubclass alloc] initWithSize:CGSizeMake(1024, 768)];
  SKTransition *transition = [SKTransition crossFadeWithDuration:REALLY_LONG_DURATION];
  [[self mySKView] presentScene:newScene transition:transition];
}
Run Code Online (Sandbox Code Playgroud)

让我们另外说我希望我的新场景在转换完成后执行一些动作或动画,但不是之前.我会用什么来触发它?

起初我以为我能够覆盖didMoveToView:这样做,但事实证明这是在过渡的开始时调用的(事后看来,这是有道理的.在交叉淡入淡出中,传入的场景在最开始时被合成动画,即使它的不透明度非常低).

接下来,作为一个冰雹玛丽,我尝试在以下情况后立即拨打新场景presentScene:

-(void)swapScenes{
  MySceneSubclass *newScene = [[MySceneSubclass alloc] initWithSize:CGSizeMake(1024, 768)];
  SKTransition *transition = [SKTransition crossFadeWithDuration:REALLY_LONG_DURATION];
  [[self mySKView] presentScene:newScene transition:transition];
  [newScene doSomethingAfterTransition]; //<----
}
Run Code Online (Sandbox Code Playgroud)

presentScene:可以预见的是立即返回,导致在转换完成之前很久就会调用此方法.

作为最后的手段,我正在考虑这样的事情:

[newScene performSelector:@selector(doSomethingAfterTransition) afterDelay:REALLY_LONG_DURATION];
Run Code Online (Sandbox Code Playgroud)

但是如果可能的话,我真的想避免这种情况.似乎应该有一个委托行动或通知或某些知道过渡何时结束的事情,对吧?

core-animation sprite-kit

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

在沙盒之外调试应用内购买?

我有一个应用程序,它使用非消费类应用内购买来向用户提供内容.

当我从Xcode(通过沙箱)或ad-hoc构建(由于某种原因,也通过沙箱)运行时,这些购买工作非常出色.它已被Apple批准并放在AppStore上.但是当我从商店下载生产版本并点击"购买"按钮时它就失败了.

看到问题只发生在生产中,我对如何调试它有点困惑.我怀疑它与通过沙箱和生产服务器购买有关,但即使是特定的也是通过沙箱完成的.

无论如何调试这个问题除了添加一堆警告对话框并再次提交给Apple之外?

sandbox in-app-purchase ios

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

以编程方式获取 JavaScript 中函数的局部变量值?

鉴于:

function foo(){
  var bar = "quux";
  console.log(/*mystery code here*/);
}
Run Code Online (Sandbox Code Playgroud)

我正在寻找插入注释时会产生 bar 值的代码。举例来说,这样的事情在全球范围内有效:

var foo = "bar";
var bar = "quux";
console.log(window[foo]);
Run Code Online (Sandbox Code Playgroud)

但是,当然,全局定义的变量会附加到窗口对象中。函数的局部变量不是。是否有一些类似的方法可以以编程方式获取局部函数变量?

javascript metaprogramming

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

Cocoa:打破每个方法调用?

通常在调试时,重要的是要知道以什么顺序调用类的哪些方法.天真的解决方案(我到目前为止一直在使用)是NSLog在每个方法的顶部弹出一个.但这是耗时,重复,丑陋的,如果我忘记在调试后删除日志,我的代码看起来很少.

更清晰的解决方案是在我的每个方法上设置断点,配置它们的操作以发出调试器命令:po NSStringFromSelector(_cmd)并将它们设置为自动继续.这更漂亮,使我不必记住删除所有这些NSLog,但同样重复或耗时.

我真正想要的是一种设置符号断点的方法,该断点在每个方法(类的一个模块?)上都会中断.任何调试/运行时主人都有一个解决方案或提示从哪里开始寻找?

xcode cocoa gdb objective-c

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

如何指定与目录不匹配的对象到期前缀?

我有一个S3桶img,movtmp目录.我希望所有添加tmp的内容在超过三天后自动删除.所以我在我的桶上设置了对象过期规则,如下所示:

  • 前缀:"tmp /"
  • 到期时间:3

问题是,虽然内部文件tmp按计划删除,但tmp它本身也匹配此前缀(显示尾部斜杠)并每三天删除一次.

是否有任何前缀与内容匹配tmp,但不是tmp本身?像"tmp/*"之类的东西(虽然这不起作用)?

amazon-s3

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

移至Xcode 7后,"安装失败:参数无效"

在同意Xcode 7中的"升级到推荐设置"对话框后,我的应用程序构建但不再在模拟器上运行.模拟器正常启动,但只是坐在主屏幕上.同时,Xcode显示错误:

安装失败
无效参数

ios ios-simulator xcode7

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

如何创建包含NSLineSeparatorCharacter的NSString?

NSString是非常友好的unicode.所以通常当我想创建一个包含unicode的字符串时,我可以将它直接弹出到字符串文字中,如下所示:

NSString *myString = @"Press ?Q to quit…";
Run Code Online (Sandbox Code Playgroud)

但这不适用于使用行分隔符(AKA: 
 NSLineSeparatorCharacter,Unicode U + 2028,UTF-8 E2 80 A8).编译器(正确地)将其解释为换行符,这是C语法中的禁忌.

-stringWithFormat:也没有帮助.试

NSString *myString = [NSString stringWithFormat@"This is%don two lines…", NSLineSeparatorCharacter];
Run Code Online (Sandbox Code Playgroud)

给了我一个字符串"This is8232on two lines ......".

cocoa nsstring

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

iPhone相当于-doCommandBySelector:?

我想把东西推到iPhone的响应链上.也就是说,我想将一个选择器发送到一个UIResponder子类,如果它没有响应所述选择器,则将它传递给它nextResponder.

有什么想法吗?

iphone cocoa cocoa-touch

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

atlasWithName:抛出"不支持的纹理图集格式"异常

我在SpriteKit游戏中使用了几个纹理图册没有问题,但我添加了一个新的(foo.atlas)我正在使用以下代码加载:

SKTextureAtlas *myAtlas = [SKTextureAtlas atlasNamed:@"foo"];
Run Code Online (Sandbox Code Playgroud)

每当执行上面的行时,抛出异常并将以下内容打印到控制台:

不支持的纹理图集格式代码2

但就是这样.没有进一步细节.即使我从地图集中删除了每个纹理并将其替换为我的其他地图集中的已知良好纹理,我也会收到此错误.我重新启动,通过构建清理,并删除派生数据...都无济于事.

关于为什么这不起作用的任何想法?

cocoa sprite-kit

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