在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) 我有一个长时间运行的循环,我想在后台运行一个NSOperation.我想用一个块:
NSBlockOperation *operation = [NSBlockOperation blockOperationWithBlock:^{
while(/* not canceled*/){
//do something...
}
}];
Run Code Online (Sandbox Code Playgroud)
问题是,如何检查它是否被取消.该块不带任何参数,并且operation在块被捕获时为零.有没有办法取消块操作?
我有一个CALayer子类MyLayer,它有一个名为myInt的NSInteger属性.我真的想通过CABasicAnimation为这个属性设置动画,但似乎CABasicAnimation只适用于所谓的"动画"属性(边界,位置等).有什么我可以覆盖,以使我的自定义myInt属性可动画?
我的应用程序包含一个NSScrollView文档视图,其中包含一些垂直堆叠的文件NSTextViews- 每个文本视图在添加文本时都会在垂直方向上调整大小.
目前,这都是在代码中管理的.该NSTextViews自动调整,但我观察他们调整大小有NSViewFrameDidChangeNotification,重计算其所有来源,使他们不重叠,并调整其上海华盈(滚动视图的文档视图),使它们都适合和可滚动到.
这似乎是自动布局的完美候选人!我NSLayoutConstraints在第一个文本视图和它的容器,最后一个文本视图及其容器之间设置,以及彼此之间的每个文本视图.然后,如果任何文本视图增长,它会自动"按下"它下面的文本视图的来源以满足约束,最终增加文档视图的大小,每个人都很高兴!
除此之外,似乎没有办法NSTextView在基于约束的布局中添加文本时自动增长?使用与NSTextView之前输入的文本自动扩展完全相同的内容,如果我没有为其高度指定约束,则将其自动解析为0并且不显示.如果我确实指定了约束,即使是不等式(例如> = 20),它仍然会停留在该大小,并且不会随着文本的添加而增长.
我怀疑这与NSTextView的实现有关-intrinsicContentSize,默认情况下会返回(NSViewNoInstrinsicMetric, NSViewNoInstrinsicMetric).
所以我的问题是:如果我根据我的文本布局NSTextView返回更有意义intrinsicContentSize的子类,那么我的自动布局会按预期工作吗?
关于实现intrinsicContentSize垂直调整大小NSTextView的任何指针?
鉴于这种简单的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 ...
似乎不起作用.
我正在开发2个不同的应用程序,它们共享95%的相同代码和视图.使用Xcode最好的方法是什么?
UIViewController用UIView和UITableView
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
我希望我的类有一个可以分配不可变数组的存储属性.如果我这样做:
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)
......这不是很优雅.
在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")).
我错过了什么?
在iPhone上(尽管我认为它在Cocoa中是一个同样有效的问题)我有一个围绕由CATiledLayer支持的UIView的UIScrollView.默认情况下,它的工作方式是在我的视口滚动到CATiledLayer的空白部分时加载任何未缓存/未获取的图块.
我想知道的是,是否有办法触发CATiledLayer加载未主动显示的磁贴?例如,我想在当前显示的图块仍然在屏幕外时预加载与当前显示的图块相邻的所有图块,从而避免在异步加载图像时闪烁的空白屏幕闪烁.
有任何想法吗?
iphone ×3
autolayout ×2
cocoa ×2
ios ×2
swift ×2
arrays ×1
calayer ×1
catiledlayer ×1
clojure ×1
cocoa-touch ×1
currying ×1
emacs ×1
immutability ×1
ios8 ×1
ipad ×1
leiningen ×1
nsoperation ×1
nstextview ×1
objective-c ×1
osx-lion ×1
uitableview ×1
xcode ×1