如果在swift中按下NSButton,则创建简单的动作

如果在swift中按下NSButton,则创建简单的动作,第1张

概述我正在快速学习.我想知道如果按下一个按钮,如何以编程方式调用一个函数….我试过这个,但该函数在程序启动时直接执行,而不是当我按下按钮时……你能不能帮助我解决这个问题..谢谢 在这个测试应用程序的完整ViewController. swift下面 //// ViewController.swift// hjkhjkjh//// Created by iznogoud on 14/05/ 我正在快速学习.我想知道如果按下一个按钮,如何以编程方式调用一个函数….我试过这个,但该函数在程序启动时直接执行,而不是当我按下按钮时……你能不能帮助我解决这个问题..谢谢
在这个测试应用程序的完整VIEwController. swift下面
////  VIEwController.swift//  hjkhjkjh////  Created by iznogoud on 14/05/16.//  copyright © 2016 iznogoud. All rights reserved.//import Cocoaclass VIEwController: NSVIEwController {    func printSomething() {    print("Hello")}overrIDe func vIEwDIDLoad() {    super.vIEwDIDLoad()    let mybuttonRect = CGRect(x: 10,y: 10,wIDth: 100,height: 10)    let mybutton =  NSbutton(frame: mybuttonRect)    vIEw.addSubvIEw(mybutton)    mybutton.target = self    mybutton.action = Selector(printSomething())    // Do any additional setup after loading the vIEw.}overrIDe var representedobject: AnyObject? {    dIDSet {    // Update the vIEw,if already loaded.    }}}
问题在于添加选择器的方式
mybutton.action = Selector(printSomething())

添加选择器的语法有点古怪,你给它一个带有函数名称的字符串,所以在你的情况下你应该写:

mybutton.action = Selector("printSomething")

哪个应该在你的控制台中用Hello来奖励你.

可能因为语法导致了人们的问题,它在Swift 2.2中被更改了,所以现在你写道:

mybutton.action = #selector(VIEwController.printSomething)

代替.这意味着编译器可以帮助您尽早发现这些错误,这是我认为向前迈出的一大步.您可以在Swift 2.2 here的发行说明中阅读更多相关信息

所以…这是你的整个例子:

import Cocoaclass VIEwController: NSVIEwController {    func printSomething() {        print("Hello")    }    overrIDe func vIEwDIDLoad() {        super.vIEwDIDLoad()        // Do any additional setup after loading the vIEw.        let mybuttonRect = CGRect(x: 10,height: 10)        let mybutton =  NSbutton(frame: mybuttonRect)        vIEw.addSubvIEw(mybutton)        mybutton.target = self        mybutton.action = #selector(VIEwController.printSomething)    }    overrIDe var representedobject: AnyObject? {        dIDSet {        // Update the vIEw,if already loaded.        }    }}

希望对你有所帮助.

总结

以上是内存溢出为你收集整理的如果在swift中按下NSButton,则创建简单的动作全部内容,希望文章能够帮你解决如果在swift中按下NSButton,则创建简单的动作所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1031192.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存