首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Cocoa swift:如何将NSTextField设置为只接受数字

Cocoa Swift是一种用于开发Mac应用程序的框架,它结合了Cocoa框架和Swift编程语言。在Cocoa Swift中,要将NSTextField设置为只接受数字,可以通过以下步骤实现:

  1. 首先,确保你的NSTextField已经连接到了代码中的IBOutlet属性,这样你才能在代码中访问到它。
  2. 在你的视图控制器或窗口控制器中,找到对应的IBOutlet属性,并在适当的位置添加以下代码:
代码语言:txt
复制
yourTextField.delegate = self

这将将你的文本字段的委托设置为当前视图控制器或窗口控制器。

  1. 然后,在你的视图控制器或窗口控制器中,实现以下委托方法:
代码语言:txt
复制
func control(_ control: NSControl, textView: NSTextView, doCommandBy commandSelector: Selector) -> Bool {
    if commandSelector == #selector(NSResponder.insertNewline(_:)) {
        return true
    }
    return false
}

func control(_ control: NSControl, textShouldEndEditing fieldEditor: NSText) -> Bool {
    let string = fieldEditor.string
    let numberFormatter = NumberFormatter()
    if let number = numberFormatter.number(from: string) {
        // 输入的是数字
        return true
    } else {
        // 输入的不是数字
        return false
    }
}

第一个委托方法用于拦截回车键的按下事件,返回true表示拦截,返回false表示不拦截。

第二个委托方法用于验证文本字段的内容是否为数字。你可以使用NumberFormatter类将文本字段的内容转换为数字,如果转换成功,则表示输入的是数字,返回true;如果转换失败,则表示输入的不是数字,返回false。

通过以上步骤,你就可以将NSTextField设置为只接受数字了。

腾讯云相关产品和产品介绍链接地址:

请注意,以上链接仅供参考,具体产品选择应根据实际需求进行。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

试水 Mac 开发 —— 代码生成器

显然是因为别人写的并不能满足我的需求,代码生成器绝对是个需要定制化的东西,毕竟每个人每个团队,都有一套代码风格(不单是指缩进、空格、大括号换不换行这些,因为这些其实每个社区几乎都有广为人接受的最佳实践)...我对 Mac 开发其实一无所知……我就是直接打开 Xcode,新建了个 macOS 的项目,然后在 Storyboard 上拖了一个 TextField 和两个 TextView 进去,设置好约束之后,...这个时候我还没有意识到自己已经一脚踏进坑里,我心想难道 NSTextView 是 NSScrollView 的子类?那我手动把它改成 NSTextView 吧……然后迎接我的是各种 crash。...Swift 中变量名是使用驼峰风格的,如果你的服务端是用 PHP,Ruby 之类的语言写的,返回的 JSON 中的 key 一般是用下划线分隔单词的,我们可以这么做: func normalizeVariableName...在 Mac 开发中使用 RxSwift 感觉 RxCocoa 对 Cocoa 的支持并不好,譬如没有为 NSTextView 和 NSTextField 提供 rx.string、rx.stringValue

71720

Apple Swift编程语言入门教程

界面则基于广受人民群众爱戴的CocoaCocoa Touch框架,展示了软件开发的新方向。 Swift已经存在了多年。Apple基于已有的编译器、调试器、框架作为其基础架构。...Objective-C开发者会感到Swift的似曾相识。Swift采用了Objective-C的命名参数和动态对象模型。提供了对Cocoa框架和mix-and-match的互操作性。..."[]" 和空的字典 "[:]",例如你设置一个知道变量并传入参数到函数: shoppingList = [] //去购物并买些东西 by gashero 4 控制流 使用 if 和 switch...添加一个 else 子句在 optionalName nil 时设置一个不同的值。 如果可选值 nil ,条件就是 false 大括号中的代码会被跳过。...,也就是最大的数字所在的。

2K30

Swift 2开发必备小Tip

Tip 1 柯里化(Currying) 在Swift 中可以将方法进行柯里化(Currying)1,也就是把接受多个参数的方法变换成接受第一个参数的方法,并且返回接受余下的参数并返回结果的新方法。...举个例子,在Swift 中我们可以这样写出多个括号的方法: 然后通过传入第一个括号内的参数进行调用,这样将返回另一个方法: 或者: 柯里化是一种量产相似方法的好办法,可以通过柯里化一个方法模板来避免写出很多重复代码...但是target-action 又是Cocoa 中如此重要的一种设计模式,无论如何我们都想安全地使用,应该怎么办呢?一种可能的解决方式就是利用方法的柯里化。...Ole Begemann 在这篇帖子2里提到了一种很好的封装,这我们如何借助柯里化,安全地改造和利用target-action 提供了不少思路。...因为这个原因,我们在写接口给别人用时需要多考虑是否使用mutating 来修饰方法,比如定义mutatingfunc myMethod()。

39230

新手必看,史上最全的iOS开发教程集锦,没有之一!

不管OC和Swift未来究竟如何发展,学习一门新的语言的本质,是接受一种新的思考方式。以下会涵盖两种语言教程供大家选择。 ?...你可以学习到: 构建你想要的任何iOS应用程序 制作一系列应用程序以申请初级开发人员工作 你的创业公司或业务构建完善的应用程序 作为自由iOS开发人员工作 4. ...Learn Cocoa http://cocoadevcentral.com/d/learn_cocoa/ 本教程教你如何从零开始创建一个Cocoa的应用程序,无需任何编程和Xcode经验。 8. ...Nshipster https://nshipster.com/ NSHipster是专门分享关于Objective-C,SwiftCocoa期刊,每周更新。 8. ...尽管他每年发表一些文章,但所有文章都值得一读。 ? 9.

5.7K21

Mac开发之 Cocoa 绑定 入门

图片来自网络 从iOS开发转为Mac OSX应用开发的过程中,cocoa 绑定算是比较大的一个差异,也是OSX上比较实用的技术,cocoa 绑定让开发者节省了大量的代码,可以快速的完成一个应用开发.本文将从三个方面新入门...好了,基础概念就先介绍到这里,我们先通过一个简单的示例来具体了解绑定操作~ (1) 新建一个Cocoa应用程序,(示例开发语言使用Swift) 新建Cocoa应用 (2) 添加一个Person类,并添加一个...,并设置Model key Pathson.score....Label的显示内容0,我们尝试通过改变son的score值来看看结果,选择ViewController,在ViewDidLoad中,添加代码 (8)ViewController添加代码 设置socre...类中,给score属性前面,添加一个关键字dynamic,然后再来试试运行吧 (9)设置Swift中的KVO 开启KVO (10) 通过改变score的值来影响Label和Slider 实际项目中,更常用的方式是

1.8K20

Swift 新语言开发「建议收藏」

Swift採用安全的编程模式,添加了现代功能使编程更easy、更灵活、更有趣。 Swift背靠成熟且备受宠爱的CocoaCocoa Touch框架的支持,这是一个又一次构想软件开发的机会。...Swift的框架建立在坚实的Foundation和Cocoa上。已实现现代化和彻底标准化。...对Objective-C开发人员来说Swift看起来非常熟悉。它具有Objective-C命名參数的可读性和动态对象模型的力量,提供了无缝接入现有Cocoa框架和与Objective-C混编的能力。...试验:创建一个常数,明白float类型,而且值4   值永远不会绝对转换为还有一种类型。假设你须要一个值转换为不同的类型,明白地创建一个所需类型的实例。   ...假设类型信息能够判断,你能够写一个空数组[]和一个空字典[;] ——比如。当你设置一个变量的新值或參数传递给函数。

69830

Swift入门:类

这在结构体中很好,因为Swift会自动我们生成一个成员初始化器,强制我们这两个属性提供值,但这不会在类中发生,因此Swift无法确定它们是否会被给定值。...其次,因为传入的参数名与要分配的属性名相同,所以使用self.为了让你的意思更清楚——“这个对象的clothes属性应该设置传入的clothes参数。”...即使是在最基本的程序中,这也是Cocoa Touch中广泛使用的一种技术,因此您应该掌握它。 让我们从一些简单的事情开始:一个有属性的Singer类,这是他们的名字和年龄。...} } 注意它的初始值设定项是如何接受三个参数,然后调用super.init()将name和age传递给Singer超类的——但只有在设置了它自己的属性之后。...Swift调用结构体“值类型”,因为它们指向一个值,而类“引用类型”,因为对象只是对实际值的共享引用。

72110

iOS面试题-Swift

Swift是苹果在2014年6月WWDC发布的全新编程语言,借鉴了JS,Python,C#,Ruby等语言特性,看上去偏脚本化,Swift 仍支持 cocoa touch 框架 他的优点: Swift更加安全...) 在 Swift 中,可选型是为了表达一个变量空的情况,当一个变量空,他的值就是 nil 在类型名称后面加个问号?...,使用 copy-on-write将值传递与复制开销降到最低 如何将Swift 中的协议(protocol)中的部分方法设计可选(optional)?...它不接受任何实际参数,并且当它被调用时,它会返回内部打包的表达式的值。...可以为非lazy的var存储属性设置属性观察器,通过关键字willSet和didSet来监听属性变化 无法保证属性被初始化1次 struct Circle { var radius: Double

3.5K40

面向协议编程与 Cocoa 的邂逅 (下)

本文 (下) 主要展示了一些笔者日常使用面向协议思想和 Cocoa 开发结合的示例代码,并对其进行了一些解说。 1....我们可以新建一个项目,并添加 User.swift 来作为模型: // User.swift import Foundation struct User { let name: String...为了简化,HTTPMethod 现在包含了 GET 和 POST 两种请求方式,而在我们的例子中,我们只会使用到 GET 请求。...对于 User 我们知道可以使用 User.init(data:),但是对于一般的 Response,我们还不知道要如何将数据转为模型。...因为时间有限,不可能展开一一说明,所以这里我挑选了一个具有代表性,又不是很复杂的网络的例子。其实每个协议都让我们的代码,特别是 View Controller 变短,而且使测试变为可能。

71120

IOS移动开发从入门到精通

IOS10 Swift3 Xcode8 1 应用程序的5个阶段,放在 AppDelegate.swift application:didFinishLaunchingWithOptions 当应用程序载入后执行该方法...如果要设置当程序进入后台仍然继续某些动作时,在这个方法里面添加代码即可。 ●applicationWillEnterForeground 当程序将要从后台重新回到前台的时候,调用此方法。...2 视图控制类: ViewController.swift Assets.xcassts 图片资源 LauchScreen.storyboard 首先加载的视图 Info.plist 配置文件...3 swift用new group组来分类,但不是实际的子文件夹 新建 cocoa touch class文件:输入CustomerViewController作为控制器,父类UIViewController...,语言swift 4 创建playgroup 创建Playground环境非常简单,在Xcode欢迎界面中,点击【Get started with a playground】选项,即可创建一个Playground

83320

V,新编程语言来袭!与Go类似,跟C一样快

它与Go类似,也受到Oberon、Rust、Swift的影响。 开发者从来就不缺新语言。今天新智元大家带来的,是一款最新推出的语言:V。目前处于很早期的阶段,暂时还没有在维基百科上拥有姓名。...parse()方法请求扫描程序其需要解析的文件生成令牌列表,然后逐个遍历所有的标记即可。 在V中,可以在声明之前使用对象,因此有2次传递。在第一次传递期间,它查看声明并跳过函数体。...它有一些函数可以返回并设置以前未知的东西(比如:= 0 => int a = 0;)。这块还需要进一步优化和改进。 fn.v 处理声明和调用普通和异步函数和方法。...V就是用V语言携程的,你可以在0.4秒内构建它,到今年年底,这个数字将下降到≈0.15秒。 ? 请看对比: ? 现在V编译器确实有一个依赖:C编译器。...基于GDI+/Cocoa Drawing构建的跨平台绘图库,以及基于OpenGL的图形库,用于更复杂的2D/3D应用程序。

1.3K40

委托与回调函数

Delegate模式是在Cocoa开发中随处可见的一种设计模式,几乎贯穿于整个Cocoa框架。...虽然Swift的委托实现跟协议息息相关,但我在这里不准备过多讨论协议的细节内容,只要知道它类似于其他语言的interface(接口)就可以了,只是Swift中的protocol不仅可以被class遵守,...接着往下说,一开始我初始化了一个UIScrollView,并把它的delegate属性设置成self(即ScrollViewCtrl的一个实例)。...不同的是,回调函数通过传递函数来实现延迟定义操作(在C这样的过程式语言中,需要通过函数指针作为参数传递来调用函数,而在支持高阶函数的函数式语言中,可以直接以函数参数传递进行操作)。...Swift对函数式编程的支持非常到位,所以可以轻松编写回调函数。

1.7K30

WWV 2018年十大必看视频

2)Cocoa Touch的新功能 - 202 ?...这次会议相当密集; 在这里,我们介绍一些亮点: drawRect在iPhone Pro屏幕上创建视图和调用的时间相对较短,16毫秒,甚至更少。...使用并不总是出现的元素的一个技巧是将其设置隐藏而不是添加或删除它。考虑始终存在的约束,并分别对来来去去的约束进行分组。将它们放在一个约束数组中,并创建一个没有约束的数组。然后你只是处理一系列约束。...“ - Kelvin Lau,应用数字有限公司高级iOS开发人员 注意:有关算法的更多信息,请参阅Kelvin Lau和Vincent Ngo的书“ Swift中的数据结构和算法”。...总之,以下是我们要观看的十大WWDC 2018视频的选择: 平台国家联盟 Cocoa Touch有什么新东西 Siri Shortcuts简介 介绍Create ML Swift Generics 使用

2.7K20
领券