残念ながら、プレイグラウンドのコントロールはインタラクティブではありません。
先日NSWindow
、Mac プレイグラウンド用の を作成して表示することで、プレイグラウンド コントロールの非対話性を回避しようとしましたが、その結果、ウィンドウがプレイグラウンドの背後で点滅するだけでした。
NSProcess
、NSBundle
、NSApplication
およびシステム アクティビティ モニターを調べた後、プレイグラウンドが実際にコードをコンパイルし、それをスタブ アプリにロードして実行し、プレイグラウンドが結果をキャプチャして表示し、スタブ アプリが終了するか待機します。次の実行のために。これは、結果が表示されるまでに、コードが実行されていないことを意味します。
興味がある場合は、プレイグラウンドで以下のコードを試して、私の意味を確認してください。Activity Monitor を開いてフィルターをPlaygroundStub_OSX
かけると、コードを起動するプロセスを確認できます。「応答なし」の状態になることがよくあります。また、コードのプローブ部分の結果のスクリーン キャプチャも含めました。
import Cocoa
var app = NSApplication.sharedApplication()
app.hidden
var procInfo = NSProcessInfo.processInfo()
procInfo.processName
procInfo.arguments
var bundle = NSBundle.mainBundle()
bundle.bundlePath
var window = NSWindow(contentRect: NSRect(x: 30, y: 30, width: 400, height: 400), styleMask: NSTitledWindowMask, backing: .Buffered, defer: false)
var view = NSView(frame: NSRect(x: 0, y: 0, width: 300, height: 300))
var textField = NSTextField(frame: NSRect(x: 30, y: 30, width: 100, height: 20))
textField.stringValue = "Test"
view.addSubview(textField)
var button = NSButton(frame: NSRect(x: 30, y: 60, width: 100, height: 30))
button.highlight(true)
var buttonCell:NSButtonCell = button.cell() as NSButtonCell
buttonCell.bezelStyle = NSBezelStyle.RoundedBezelStyle
view.addSubview(button)
window.contentView.addSubview(view)
window.makeKeyAndOrderFront(nil)

アップデート
Swift プレイグラウンドで半機能の OS X ウィンドウを取得し、コードをgithub repoに配置することができました。インタラクティブな UIKit ベースのビューがまだ可能かどうかはわかりません。