以下是代码:
- (IBAction) charlieInputText:(id)sender {
//getting value from text field when entered
charlieInputSelf = [sender stringValue];
if (charlieInputSelf != @"") {
//(send field if not empty
}
}
即使字段为空,也会发送它;因此,这不符合我的要求。
答案 0 :(得分:84)
只需检查nil,文本长度是否大于0 - 不为空
if (textField.text && textField.text.length > 0)
{
/* not empty - do something */
}
else
{
/* what ever */
}
答案 1 :(得分:53)
我们已经有内置方法返回布尔值,指示文本输入对象是否有任何文本。
// In Obj-C
if ([textField hasText]) {
//* Do Something you have text
}else{
/* what ever */
}
// In Swift
if textField.hasText {
//* Do Something you have text
}else{
/* what ever */
}
答案 2 :(得分:7)
Joshua在狭义的情况下有正确的答案,但一般来说,你不能使用==或!=运算符来比较字符串对象。您必须使用-isEqual:
或-isEqualToString:
这是因为charlieImputSelf
和@""
实际上是指向对象的指针。虽然两个字符序列可能相同,但它们不需要指向内存中的相同位置。
答案 3 :(得分:2)
那些'工作'在某种程度上。但是,我发现用户只需用空格填充框即可。我发现使用正则表达式有帮助(虽然我使用的是没有空格的单词)我无法弄清楚如何制作允许空格。
NSError *error = NULL;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"[ ]" options:NSRegularExpressionCaseInsensitive error:&error];
if (!([[inputField stringValue]isEqualTo:regex])) {
NSLog(@"Found a match");
// Do stuff in here //
}
答案 4 :(得分:1)
最有效的方法是使用此
// set it into an NSString
NSString *yourText = yourVariable.text;
if([theText length] == 0])
{
// Your Code if it is equal to zero
}
else
{
// of the field is not empty
}
答案 5 :(得分:1)
检查Swift中的文本字段是否为空
@IBOutlet weak var textField: NSTextField!
@IBOutlet weak var multiLineTextField: NSTextField!
@IBAction func textChanged(sender: AnyObject) {
//println("text changed! \(textField.stringValue)")
if textField.stringValue.isEmpty == false {
multiLineTextField.becomeFirstResponder()
multiLineTextField.editable = true
} else {
multiLineTextField.editable = false
}
}
答案 6 :(得分:0)
db_task.aggregate([
{
$match: { '_id': ObjectId("5d8b522d0cf2579c57bc8ce0") }
},
{
$unwind: '$users'
},
{
$lookup: {
from: 'db_user',
localField: 'users.user_id',
foreignField: '_id',
as: 'user_info'
}
},
{
$project: {
$users: {
user_id: 1,
is_finished: 1,
user_info:'$user_info',
}
}
},
{
$group: {
_id: '$_id',
users: {
$push: '$users'
},
}
},
])
答案 7 :(得分:0)
最简单的方法。
创建不带“”(空格)的新NSString
NSString *textWithoutSpaces = [self.textField.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
现在您的字符串没有空格。 您只需要检查此字符串是否为空即可。
if (textWithoutSpaces != 0) {
/* not empty - do something */
} else {
/* empty - do something */
}