检查OSX中NSTextView是否为空

时间:2015-04-01 10:20:48

标签: macos cocoa nstextview

我试图在NSTextView为空时显示消息(用户没有在textView中输入任何内容),但无法找到合适的内置方法。如果是NSTextFiled,则很简单。

if(countElements(emailTextField.stringValue) == 0)

mac

中是否有NSTextView的替代品

1 个答案:

答案 0 :(得分:1)

访问NSTextStorage所拥有的NSTextView对象,并使用(只读)length属性来计算存储对象底层string中的元素属性:

// Mark: NSTextViewDelegate implementation

func textDidChange(notification: NSNotification) {

    if let textView = notification.object as? NSTextView {
        if let storage = textView.textStorage {
            if storage.length == 0 {
                // text-view is empty
            }
        }
    }
}

如果查看NSTextStorage类引用,您会发现它实际上只是一个NSAttributedString类。 NSAttributedString具有string属性和length属性 - 它是length属性,我们用它来确定字符串是否为“空”。