- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我的 macOS 应用程序中有一个 NSSlider
,名为 wave_mode_slider
。我想要做的是更新输入时所述 slider 的值。所以,我所做的是:
self.wave_mode_slider?.integerValue = ("\(params[2])" as NSString).integerValue
这会将 slider (白点)的值设置为预期的输入值。但是,在我看到任何实际结果之前,我必须在应用程序外部单击,这会导致 slider 的白点跳转到它的新值。如此处所示:
有没有办法让 slider 立即更新?
我的 slider 是这样创建的:
self.wave_mode_slider = NSSlider(frame:CGRect(x: 10, y: 100, width: 20, height: 300))
self.wave_mode_slider?.cell = OWOWSliderVertical()
self.wave_mode_slider?.maxValue = 127
self.wave_mode_slider?.target = self
self.view?.addSubview(self.wave_mode_slider!)
我尝试将 slider 的 isContinuous
属性设置为 true,但这并没有改变结果。
编辑:
var midiClient : MIDIClientRef = 0
var inPort : MIDIPortRef = 0
let observer = UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque())
MIDIClientCreate("WobClient" as CFString, nil, nil, &midiClient)
MIDIInputPortCreate(midiClient, "WobClient_InPort" as CFString, {
(pktList: UnsafePointer<MIDIPacketList>, readProcRefCon: UnsafeMutableRawPointer?, srcConnRefCon: UnsafeMutableRawPointer?) -> Void in
let packetList : MIDIPacketList = pktList.pointee
var packet : MIDIPacket = packetList.packet
let mySelf = Unmanaged<Wob>.fromOpaque(srcConnRefCon!).takeUnretainedValue()
for _ in 1...packetList.numPackets {
let bytes = Mirror(reflecting: packet.data).children
var params : [UInt64] = []
var i = packet.length
for (_, attr) in bytes.enumerated() {
let string = String(format: "%02X ", attr.value as! UInt8)
params.append(UInt64(strtoul(string, nil, 16)))
i -= 1
if (i <= 0) {
break
}
}
// print(("\(params[2])" as NSString).integerValue)
mySelf.setWaveSliderValue(value: ("\(params[2])" as NSString).integerValue)
packet = MIDIPacketNext(&packet).pointee
}
}, nil, &inPort)
MIDIPortConnectSource(inPort, self.source, observer)
这是我获得值(value)的地方
最佳答案
最后很简单,一看到Willeke关于线程的评论,我就用主线程设置值:
DispatchQueue.main.async {
mySelf.wave_mode_slider?.floatValue = ("\(params[2])" as NSString).floatValue
}
关于swift - nsslider.integerValue 要求我在更新值之前专注于另一个应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43719570/
我的 macOS 应用程序中有一个 NSSlider,名为 wave_mode_slider。我想要做的是更新输入时所述 slider 的值。所以,我所做的是: self.wave_mode_slid
我发现 [NSTextField integerValue] 对于包含千位分隔符的值的行为有所不同,具体取决于值的设置方式。 (我在德国,所以这些示例中的千位分隔符是点“.”)。 如果我调用 [myT
@property NSMutableArray*textFieldsA; @property NSMutableArray*textFieldsB; @property NSMutableArray
这是动画squareOne的代码的完成代码。单击它时,它会隐藏。如果 squareOne 使用的图像索引与 icon 相同,并且如果 squareOne 被隐藏,则动画重复。 (这是我希望分数增加的条
我在我的应用程序中使用Google Mobile Vision。我收到无法识别的选择器lldb崩溃。我已经将问题缩小到这行代码... var faceDetector = GMVDetector
好的团队,这很奇怪。 [NSDecimalNumber integerValue] 行为异常。 我坐在一个断点处,试图找出为什么我的应用程序的某些部分在 iOS8 中被破坏,我正在查看一个名为“tim
我是一名优秀的程序员,十分优秀!