小编Ale*_*yne的帖子

释放通过imageNamed加载的保留UIImage属性?

在我的类对象中,我已经定义了一个(nonatomic, retain)属性UIImage.我为此属性分配了一个通过加载的图像

[UIImage imageNamed:@"file.png"];
Run Code Online (Sandbox Code Playgroud)

如果在某些时候我想将此属性重新分配给另一个图像,我是否必须释放先前的参考?

我很困惑,因为通过retain属性我知道我应该释放它.但因为imageNamed:是一种方便的方法(不使用alloc),我不知道在这里应用什么规则.

感谢您的见解!

iphone release uiimage retain

7
推荐指数
2
解决办法
7177
查看次数

Ruby:在代码中使用rand()但编写测试来验证概率

我有一些代码可以根据加权随机来提供东西.重量更重的东西更有可能随机选择.现在我是一个很好的rubyist,我想用测试来覆盖所有这些代码.而且我想测试根据正确的概率获取的东西.

那么我该如何测试呢?为随机的东西创建测试会使实际与预期的比较变得非常困难.我有一些想法,以及为什么它们不能很好地工作:

  • Stub Kernel.rand在我的测试中返回固定值.这很酷,但rand()被多次调用,我不确定我是否可以通过足够的控制来测试它以测试我需要的东西.

  • 取一个随机项很多次,并比较实际比率与预期比率.但除非我可以无数次运行,否则这将永远不会是完美的,如果我在RNG中运气不好,可能会间歇性地失败.

  • 使用一致的随机种子.这使得RNG可重复,但它仍然没有给我任何验证项目A将在80%的时间内发生(例如).

那么我可以使用什么样的方法来编写随机概率的测试覆盖率?

ruby random statistics unit-testing probability

7
推荐指数
2
解决办法
4551
查看次数

如果我的文件是正在运行的文件,我如何使node.js执行一些代码?

我想通过以下方式直接启动我的快速服务器:

$ node app.js
Run Code Online (Sandbox Code Playgroud)

但我也希望能够要求该文件,让它返回应用程序实例但实际上不启动服务器.然后我可以稍后用一些选项开始.

app = require './app'
app.listen options.someCustomPort
Run Code Online (Sandbox Code Playgroud)

我基本上在寻找相当于这个ruby片段的东西,但在node.js中.

if __FILE__ == $0
  app.listen options[:some_custom_port]
end
Run Code Online (Sandbox Code Playgroud)

这有成语吗?

javascript node.js coffeescript

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

Rails 3:我应该在after_create回调中显式保存对象吗?

相关代码:http://pastebin.com/EnLJUJ8G

class Task < ActiveRecord::Base
  after_create :check_room_schedule

  ...

  scope :for_date, lambda { |date| where(day: date) }
  scope :for_room, lambda { |room| where(room: room) }

  scope :room_stats, lambda { |room| where(room: room) }
  scope :gear_stats, lambda { |gear| where(gear: gear) } 

  def check_room_schedule
    @tasks = Task.for_date(self.day).for_room(self.room).list_in_asc_order
    @self_position = @tasks.index(self)

    if @tasks.length <= 2
      if @self_position == 0 
        self.notes = "There is another meeting in 
    this room beginning at # {@tasks[1].begin.strftime("%I:%M%P")}."
        self.save
      end
    end
  end

  private

    def self.list_in_asc_order
      order('begin …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails callback

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

Typescript 期望 mockImplementation 为所有方法和属性提供模拟

我正在使用 typescript + jest,并且在创建模拟实现时遇到了一些类型检查问题。作为一个例子,我想模拟Credentials以下对象aws-sdk

import { Credentials } from "aws-sdk";

jest.mock("aws-sdk");

const CredentialsMock = mocked(Credentials);

describe("Foo test", () => {
  beforeAll(() => {
    CredentialsMock.mockImplementation(() => { /*** <--- Type checking fails here ***/
      return {
        get: jest.fn()
      }
    });
  });
});
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是,当Credentials我只想模拟单个方法时,类型检查器希望我为该类型的每个方法/属性提供模拟。具体错误是:

TS2345:类型参数 '() => { get: jest.Mock; }' 不可分配给类型为“(accessKeyId: string, SecretAccessKey: string, sessionToken?: string | undefined) => Credentials”的参数。

输入 '{ get: Mock; }' 缺少“Credentials”类型中的以下属性:getPromise、needsRefresh、refresh、refreshPromise 等 5 个属性。

有没有办法让打字稿在这里快乐?

typescript jestjs ts-jest

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

让精灵在OpenGLES中正确面对相机

我有一个或多或少2D的游戏,但是用3D渲染.相机在2D游戏区域上方盘旋,从完全垂直方向倾斜约20度,为其提供一点3D视角.

我有一些需要渲染完美正方形的精灵,因为它们代表球形物体.我的第一种方法是在2D场上渲染四边形,使它们正确定位,但是精灵受到透视变形的影响并且总是看起来很圆.

我目前的方法是,在渲染精灵时,我将相机移动到垂直于游戏区域(和精灵),这保证了四边形不会被视角扭曲.缺点是精灵的位置与相机倾斜时的位置略有不同.

那么,我怎样才能呈现以下精灵:

  1. 完美的方形和相机面对,但不要求我移动我的相机来实现这一目标.
  2. 具有受相机距离影响的尺寸(与点精灵不同)

opengl-es

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

Ruby:变量是ruby中的对象吗?

我听说红宝石中的一切都是对象.我在一次采访中回答说变量是一个对象,面试官说不.有人知道真相吗?

ruby variables

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

我在JavaScript中错误地转义字符串了吗?

我想在javascript中创建一个可点击的链接

var content = '<a href=\"#\" onclick=\"displayContent(\"TEST\")\">Whatever</a>';

$("#placeHolder").html(content);
Run Code Online (Sandbox Code Playgroud)

但我不断收到错误

未捕获的SyntaxError:意外的令牌}

这不是逃避双引号和创建链接的正确方法吗?

javascript jquery escaping syntax-error

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

在孩子中反转父母的旋转,所以孩子在世界中看起来没有旋转

在 THREE.js 场景中,我有一个旋转的父对象。这个父级的子级应该在位置上锁定到他们父级的旋转,但是他们自己的旋转需要是独立的,而不是从父级继承。

一个简单的例子是让孩子们总是面对镜头。

我的尝试是“反转”父级在子级中的旋转。那是:

# render loop
render = ->
  requestAnimationFrame(render)

  # Rotate the parent
  @parent.rotation.x += 0.01
  @parent.rotation.z += 0.02

  # Attempt to invert rotation of the parent, and fail :(
  for child in @children
    child.rotation.x = -@parent.rotation.x
    child.rotation.z = -@parent.rotation.z
Run Code Online (Sandbox Code Playgroud)

这种天真的尝试的结果就在这里。黄色的小平面是灰色立方体的孩子,它们以我意想不到的方式旋转......

http://jsfiddle.net/b6jgS/

我想要的是这些平面始终是完美的正方形,随着立方体的旋转而移动,但它们的旋转锁定到世界,而不是父级。

那么我将如何撤消父级在子级中的旋转?我在这里错过了什么疯狂的数学?

我知道我可以在这个例子中使用点精灵,但我有更复杂的需求,最终点精灵不会做。所以我需要想办法用一个真正的 3D 对象来做到这一点。


编辑:确实适用于每个轴。如果父级只在 X 上旋转,我可以在子级的 X 旋转上反转它,就像我想要的那样。只有 Z 相同。但是,如果我开始变化,然后将 X 和 Z 都反转,那么它就会变得松散。

3d webgl coffeescript three.js

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

f()和(f())之间有什么区别?

之间有任何区别

var myfunc = (function () { return function () { ... } }());
Run Code Online (Sandbox Code Playgroud)

var myfunc = function () { return function () { ... } }();
Run Code Online (Sandbox Code Playgroud)

它只是一种风格问题还是第一种形式的周围()更多?

javascript

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