小编jem*_*ons的帖子

为什么Rails4放弃了对Gemfile中"assets"组的支持

在Rails 3中,专门用于在资产管道中生成资产的gem被正确放置在assetsGemfile 的组中:

...

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails'
  gem 'coffee-rails'
  gem 'uglifier'

  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  # gem 'therubyracer', :platforms => :ruby
end
Run Code Online (Sandbox Code Playgroud)

现在,根据(仍在进行中)升级文档:

Rails 4.0从Gemfile中删除了资产组.升级时,您需要从Gemfile中删除该行.

果然,使用RC1创建一个新项目会生成一个Gemfile,其默认包含在任何组之外的资产相关gem:

source 'https://rubygems.org'

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.0.0.rc1'

# Use sqlite3 as the database for Active Record
gem 'sqlite3'

# Use SCSS for stylesheets …
Run Code Online (Sandbox Code Playgroud)

asset-pipeline ruby-on-rails-4

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

如何取消NSBlockOperation

我有一个长时间运行的循环,我想在后台运行一个NSOperation.我想用一个块:

NSBlockOperation *operation = [NSBlockOperation blockOperationWithBlock:^{
   while(/* not canceled*/){
      //do something...
   }
}];
Run Code Online (Sandbox Code Playgroud)

问题是,如何检查它是否被取消.该块不带任何参数,并且operation在块被捕获时为零.有没有办法取消块操作?

nsoperation nsoperationqueue objective-c-blocks

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

动画化CALayer子类的自定义属性

我有一个CALayer子类MyLayer,它有一个名为myInt的NSInteger属性.我真的想通过CABasicAnimation为这个属性设置动画,但似乎CABasicAnimation只适用于所谓的"动画"属性(边界,位置等).有什么我可以覆盖,以使我的自定义myInt属性可动画?

iphone core-animation calayer

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

使用Autolayout扩展NSTextViews

我的应用程序包含一个NSScrollView文档视图,其中包含一些垂直堆叠的文件NSTextViews- 每个文本视图在添加文本时都会在垂直方向上调整大小.

目前,这都是在代码中管理的.该NSTextViews自动调整,但我观察他们调整大小有NSViewFrameDidChangeNotification,重计算其所有来源,使他们不重叠,并调整其上海华盈(滚动视图的文档视图),使它们都适合和可滚动到.

这似乎是自动布局的完美候选人!我NSLayoutConstraints在第一个文本视图和它的容器,最后一个文本视图及其容器之间设置,以及彼此之间的每个文本视图.然后,如果任何文本视图增长,它会自动"按下"它下面的文本视图的来源以满足约束,最终增加文档视图的大小,每个人都很高兴!

除此之外,似乎没有办法NSTextView在基于约束的布局中添加文本时自动增长?使用与NSTextView之前输入的文本自动扩展完全相同的内容,如果我没有为其高度指定约束,则将其自动解析为0并且不显示.如果我确实指定了约束,即使是不等式(例如> = 20),它仍然会停留在该大小,并且不会随着文本的添加而增长.

我怀疑这与NSTextView的实现有关-intrinsicContentSize,默认情况下会返回(NSViewNoInstrinsicMetric, NSViewNoInstrinsicMetric).

所以我的问题是:如果我根据我的文本布局NSTextView返回更有意义intrinsicContentSize的子类,那么我的自动布局会按预期工作吗?

关于实现intrinsicContentSize垂直调整大小NSTextView的任何指针?

cocoa nstextview osx-lion autolayout

23
推荐指数
4
解决办法
8483
查看次数

为什么curried函数需要外部参数名称?

鉴于这种简单的currying功能:

func foo(x:Int)(y:Int)->String{
  return "\(x) with \(y)"
}
Run Code Online (Sandbox Code Playgroud)

我希望能够做到这样的事情:

let bar = foo(1)
bar(2) //<- error: Missing argument label 'y:' in call
Run Code Online (Sandbox Code Playgroud)

如果我将调用标记为bar(如在bar(y:2)),一切正常.但我不明白为什么参数名称是必要的.有什么办法可以避免吗?

显而易见的事:

func foo(x:Int)(_ y:Int)->String ...

似乎不起作用.

currying swift

18
推荐指数
2
解决办法
1783
查看次数

如何在Xcode中使用相同的共享代码创建多个应用程序?

我正在开发2个不同的应用程序,它们共享95%的相同代码和视图.使用Xcode最好的方法是什么?

iphone xcode ipad ios

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

设置UIView的layoutMargins不起作用

UIViewControllerUIViewUITableView

UIView
|-UITableView
Run Code Online (Sandbox Code Playgroud)

我正在尝试设置这样的边距:

- (void)viewDidLoad {
    [super viewDidLoad];

    self.view.layoutMargins = UIEdgeInsetsMake(30, 30, 30, 30);
    self.tableView.preservesSuperviewLayoutMargins = YES;
    [self.view layoutIfNeeded];
}
Run Code Online (Sandbox Code Playgroud)

但是这个观点没有发生任何事情.

以下是InterfaceBuilder的约束

(lldb) po self.view.constraints
<__NSArrayM 0x786ab6e0>(
<NSLayoutConstraint:0x7896e940 UIView:0x7896e470.trailingMargin == UITableView:0x79b51a00.trailing - 16>,
<NSLayoutConstraint:0x7896e970 UITableView:0x79b51a00.leading == UIView:0x7896e470.leadingMargin - 16>,
<NSLayoutConstraint:0x7896e9a0 V:[_UILayoutGuide:0x7896e510]-(0)-[UITableView:0x79b51a00]>,
<NSLayoutConstraint:0x7896e9d0 V:[UITableView:0x79b51a00]-(0)-[_UILayoutGuide:0x7896e600]>,
<_UILayoutSupportConstraint:0x7896c7d0 V:[_UILayoutGuide:0x7896e510(0)]>,
<_UILayoutSupportConstraint:0x7896c2b0 V:|-(0)-[_UILayoutGuide:0x7896e510]   (Names: '|':UIView:0x7896e470 )>,
<_UILayoutSupportConstraint:0x7896cbf0 V:[_UILayoutGuide:0x7896e600(0)]>,
<_UILayoutSupportConstraint:0x7896ea00 _UILayoutGuide:0x7896e600.bottom == UIView:0x7896e470.bottom>
)
Run Code Online (Sandbox Code Playgroud)

结果没有看到任何边缘,没有任何改变....我正在发布什么?

iOS 8

objective-c uitableview ios autolayout ios8

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

如何在Swift中的变量存储属性中存储不可变数组?

我希望我的类有一个可以分配不可变数组的存储属性.如果我这样做:

class MyClass{
  var myItems:[String]
}
Run Code Online (Sandbox Code Playgroud)

我可以为我的属性分配不同的数组,但数组将是可变的.如果我这样做:

class MyClass{
  let myItems:[String]
}
Run Code Online (Sandbox Code Playgroud)

我的数组是不可变的,但我不能改变分配给它的内容.有没有办法让我的蛋糕也不会改变它?

我提出的最好的方法是在数组周围创建一个包装器,然后使用该类型作为属性,如下所示:

class MyClass{
  struct ImmutableWrapper{
    let array:[String]
  }
  var myItems:ImmutableWrapper
}
Run Code Online (Sandbox Code Playgroud)

......这不是很优雅.

arrays immutability swift

15
推荐指数
2
解决办法
4044
查看次数

无法在Emacs中启动`lein` REPL

在Emacs中,使用时clojure-mode,我应该能够启动REPL C-c C-z.不过,每当我尝试时,我都会收到错误:

Searching for program: no such file or directory: lein
Run Code Online (Sandbox Code Playgroud)

lein安装在/usr/local/bin(通过brew)并/usr/local/bin在我的PATH(甚至Emacs说,通过eval-expression (getenv "PATH")).

我错过了什么?

emacs clojure leiningen

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

CATiledLayer中的预加载/预先显示磁贴?

在iPhone上(尽管我认为它在Cocoa中是一个同样有效的问题)我有一个围绕由CATiledLayer支持的UIView的UIScrollView.默认情况下,它的工作方式是在我的视口滚动到CATiledLayer的空白部分时加载任何未缓存/未获取的图块.

我想知道的是,是否有办法触发CATiledLayer加载未主动显示的磁贴?例如,我想在当前显示的图块仍然在屏幕外时预加载与当前显示的图块相邻的所有图块,从而避免在异步加载图像时闪烁的空白屏幕闪烁.

有任何想法吗?

iphone cocoa cocoa-touch core-animation catiledlayer

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