如何参考Swift游乐场本身?

前端之家收集整理的这篇文章主要介绍了如何参考Swift游乐场本身?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
How to create a button programmatically?

自我不能在快速的操场上工作:

  1. button.addTarget(self,action: "buttonAction:",forControlEvents: UIControlEvents.TouchUpInside)

错误

Playground execution Failed: error: :42:13: error: use of
unresolved identifier ‘self’

我也尝试创建一个类ButtonAction方法里面编译,但当我点击按钮没有打印在控制台

  1. import UIKit
  2.  
  3. class myself {
  4.  
  5.  
  6. func buttonAction(sender:UIButton!)
  7. {
  8. println("Button tapped")
  9. }
  10.  
  11. }
  12.  
  13. var s = myself()
  14.  
  15. // Create View
  16. var f = CGRect(x:0,y:0,width:200,height:200)
  17. var view = UIView(frame:f)
  18.  
  19.  
  20. // Create Button
  21. var b = UIButton(frame: f)
  22. b.setTitle("Hello",forState: UIControlState.Normal)
  23. b.addTarget(s,forControlEvents: UIControlEvents.TouchUpInside)
  24.  
  25. view.addSubview(b)
  26.  
  27. view
不幸的是,操场上的控制不是互动的.

通过创建和显示一个Mac操作系统的NSWindow,我试图绕过操场控制的非交互性,但结果是窗户在操场后面闪烁.

最好的我可以在探索NSProcess,NSBundle,NSApplication并观看系统活动监视器后,告诉我们,操场实际上编译你的代码,将其加载到存根应用程序中,执行,操场捕获结果并显示它们,然后存根应用程序退出或等待下一次执行.这意味着当您看到结果时,代码不再执行.

如果您好奇,可以在操场上尝试下面的代码,看看我的意思.如果您打开活动监视器并在PlaygroundStub_OSX上过滤,则可以看到运行代码启动的过程.它通常处于“不响应”状态.我还包括代码探测部分结果的屏幕截图.

  1. import Cocoa
  2.  
  3. var app = NSApplication.sharedApplication()
  4. app.hidden
  5.  
  6. var procInfo = NSProcessInfo.processInfo()
  7. procInfo.processName
  8. procInfo.arguments
  9.  
  10. var bundle = NSBundle.mainBundle()
  11. bundle.bundlePath
  12.  
  13.  
  14.  
  15. var window = NSWindow(contentRect: NSRect(x: 30,y: 30,width: 400,height: 400),styleMask: NSTitledWindowMask,backing: .Buffered,defer: false)
  16.  
  17.  
  18. var view = NSView(frame: NSRect(x: 0,y: 0,width: 300,height: 300))
  19.  
  20. var textField = NSTextField(frame: NSRect(x: 30,width: 100,height: 20))
  21.  
  22. textField.stringValue = "Test"
  23.  
  24. view.addSubview(textField)
  25.  
  26. var button = NSButton(frame: NSRect(x: 30,y: 60,height: 30))
  27.  
  28. button.highlight(true)
  29.  
  30. var buttonCell:NSButtonCell = button.cell() as NSButtonCell
  31. buttonCell.bezelStyle = NSBezelStyle.RoundedBezelStyle
  32.  
  33.  
  34. view.addSubview(button)
  35.  
  36. window.contentView.addSubview(view)
  37.  
  38.  
  39.  
  40. window.makeKeyAndOrderFront(nil)

UPDATE

我能够在Swift操场上获得半功能的OS X窗口,并将代码放在一个github repo中.我不知道是否可以使用基于UIKit的交互视图.

猜你在找的Swift相关文章