小编Mau*_*res的帖子

寻找一种方法来使用NSArray作为一堆按钮的出口

我的用户界面有四个按钮,它们都会分享一些常见的行为,比如跟踪区域创建这样的事情.我正在寻找的是一个解决方案,所以我不必这样做:

@interface MyController : NSWindowController {
    NSButton * button1;
    NSButton * button2;
    NSButton * button3;
    NSButton * button4;
}
@property (nonatomic) IBOutlet NSButton * button1;
@property (nonatomic) IBOutlet NSButton * button2;
// and so on
@end
Run Code Online (Sandbox Code Playgroud)

我想有一个像这样的解决方案:

@interface MyController : NSWindowController {
    NSMutableArray * buttons;
}
@property (nonatomic) IBOutlet NSMutableArray * buttons; 
// tell interface builder to place all buttons here
@end
Run Code Online (Sandbox Code Playgroud)

这可能吗?

macos cocoa objective-c

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

rails 3缓存:命名路由的到期操作

我的控制器有这个:

caches_action :render_ticker_for_channel, :expires_in => 30.seconds
Run Code Online (Sandbox Code Playgroud)

在我的路线文件中我有这个:

match '/render_c_t/:channel_id' => 'render#render_ticker_for_channel', :as => :render_channel_ticker
Run Code Online (Sandbox Code Playgroud)

在日志文件中我看到:

Write fragment views/mcr3.dev/render_c_t/63 (11.6ms)
Run Code Online (Sandbox Code Playgroud)

我该如何手动过期?我需要从与渲染控制器不同的控制器使其到期,但即使在渲染控制器中,我也无法让它过期正确的东西.

如果我做:

 expire_action(:controller => 'render', :action => 'render_ticker_for_channel', :id => c.id)
Run Code Online (Sandbox Code Playgroud)

我知道了:

Expire fragment views/mcr3.dev/render/render_ticker_for_channel/63 (3.2ms)
Run Code Online (Sandbox Code Playgroud)

如果我做:

expire_action(:controller => 'render', :action => 'render_c_t', :id => c.id)
Run Code Online (Sandbox Code Playgroud)

我知道了:

Expire fragment views/mcr3.dev/render/render_c_t/63 (3.2ms)
Run Code Online (Sandbox Code Playgroud)

这个:

expire_action("render_c_t/#{c.id}")
Run Code Online (Sandbox Code Playgroud)

生产:

Expire fragment views/render_c_t/63 (3.5ms)
Run Code Online (Sandbox Code Playgroud)

我怎样才能让它过期'caches_action'产生的路径?!

ruby caching ruby-on-rails ruby-on-rails-3

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

belongs_to关联的未定义方法

我的代码:

class User < ActiveRecord::Base
    belongs_to :university
end

class University < ActiveRecord::Base
  has_many :users, dependent: :destroy
end
Run Code Online (Sandbox Code Playgroud)

和我的模型User有一个university_id属性.

如果我这样做,University.find(1).users我会得到用户列表,但如果我这样做User.find(1).university(并且我检查过university_id在这里不是nil),我得到:

NoMethodError: undefined method `university' for #<User:0x00000003859fc8>
from /home/mari/.rvm/gems/ruby-1.9.2-p290/gems/activemodel-3.0.10/lib/active_model/attribute_methods.rb :392:in `method_missing'
from /home/mari/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.0.10/lib/active_record/attribute_methods. rb:46:in `method_missing'
from (irb):14
from /home/mari/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.10/lib/rails/commands/console.rb:44:in`start'
from /home/mari/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.10/lib/rails/commands/console.rb:8:in start'
from /home/mari/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.10/lib/rails/commands.rb:23:in
`<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我有另一个模型,他们工作得很好.有什么建议?提前致谢

activerecord belongs-to ruby-on-rails-3

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

如何在SBT .scala项目配置中从多个非托管目录添加jar

我正在尝试让SBT构建一个可能有多个非托管目录的项目.如果我有一个目录,我可以轻松地这样做:

unmanagedBase := file( "custom-libs" ).getAbsoluteFile
Run Code Online (Sandbox Code Playgroud)

但由于我有两个带有非托管jar的目录,我需要能够将它们全部添加.我在这里找到了一些信息,但对我的完整.scala文件构建似乎仍然没有用.

我创建了一个简单的项目,在这里显示问题.以下是我的Build.scala文件.

UPDATE

我从sbt-users列表中获得了一些帮助,并且能够正确定义非托管jar,但代码仍然无法编译(但是sbt show unmanaged-jars正确显示了文件).

import sbt._
import com.github.siasia._
import PluginKeys._
import Keys._

object Build extends sbt.Build {

  import Dependencies._

  val unmanagedListing = unmanagedJars :=  {
    Dependencies.listUnmanaged( file(".").getAbsoluteFile )
  }

  lazy val myProject = Project("spray-template", file("."))
    .settings(WebPlugin.webSettings: _*)
    .settings(port in config("container")  := 8080)
    .settings(
      organization  := "com.example",
      version       := "0.9.0-RC1",
      scalaVersion  := "2.9.1",
      scalacOptions := Seq("-deprecation", "-encoding", "utf8"),
      resolvers …
Run Code Online (Sandbox Code Playgroud)

dependencies scala project unmanagedresources sbt

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

Mac OSX - 如何使用Cocoa甚至纯C函数获取代理配置?

我注意到我的应用程序没有使用机器可用的代理设置(我使用Charles代理来测试代理配置).使用NSURLConnection进行调用的应用程序的一部分使用代理正确使用和发出请求,应用程序的另一部分(显然是在Mono上运行的MonoMac应用程序)没有.

它不断发出请求,好像没有配置代理.是否有一个函数或对象可以用来获取NSURLConnection正在使用的相同代理配置?

macos networking cocoa objective-c nsurlconnection

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

为什么Scala不能将此匹配优化为交换机?

我有这种模式匹配匹配字节值,但当我添加@switch它时说:

无法发出切换到@switch注释匹配

我在这里错过了什么?

仅供参考,我已经尝试过并且没有工作:

  • 将此常量移动到Java接口并使用public static final byte字段(我也尝试过将它们int替换为byte)
  • 将字段标记为final valScala Message协同对象
  • 将字段标记为@inline伴随对象

我肯定迷失在这里.

optimization scala constants pattern-matching switch-statement

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

如何定义在Scala中采用Ordered [T]数组的方法?

我正在Scala中构建一些基本算法(遵循Cormen的书),以便在主题上刷新我的想法,并且我正在构建插入排序算法.像这样做,它正常工作:

class InsertionSort extends Sort {

def sort ( items : Array[Int] ) : Unit = {

    if ( items.length < 2 ) {
        throw new IllegalArgumentException( "Array must be bigger than 1" )
    }

    1.until( items.length ).foreach( ( currentIndex ) => {

        val key = items(currentIndex)

        var loopIndex = currentIndex - 1

        while ( loopIndex > -1 && items(loopIndex) > key ) {

            items.update( loopIndex + 1, items(loopIndex) )

            loopIndex -= 1
        }

        items.update( loopIndex + 1, …
Run Code Online (Sandbox Code Playgroud)

generics algorithm scala

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

File.open()有没有块有什么区别?

我有两个问题:1 - 我不明白事物的含义,这段代码返回:

File.open("a.txt") do |i|
  puts i
end
Run Code Online (Sandbox Code Playgroud)

请解释一下.

2 - 请解释一下该代码与以下代码之间的区别:

File.open("a.txt").each do |i|
  puts i
end
Run Code Online (Sandbox Code Playgroud)

谢谢

ruby file-io file

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

创建一个接收类型参数但不作为参数的方法,就像classOf一样

我有以下代码:

class ServletSpec extends Specification {

    def createServlet[T <: HttpServlet](clazz: Class[T]): T = {

        val instance = clazz.newInstance()
        instance.init()

        instance

    }

} 
Run Code Online (Sandbox Code Playgroud)

这被称为:

spec.createServlet( classOf[DocumentationServlet] )
Run Code Online (Sandbox Code Playgroud)

如何定义此方法以便我可以像这样调用它:

spec.createServlet[DocumentationServlet]
Run Code Online (Sandbox Code Playgroud)

reflection scala

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

如何从普罗米修斯直方图中显示一组特定指标的计数?

因此,我有一个直方图,用于收集某些操作的持续时间(以秒为单位),指标是:

  • rpc_request_duration_seconds_bucket
  • rpc_request_duration_seconds_count
  • rpc_request_duration_seconds_sum

这有效,我得到了我的分位数和所有,但我想得到超过 1 秒的所有请求的计数。我如何生成这样的查询?

prometheus

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