如何在扩展中检查nil

问题描述 投票:0回答:3
遵守代码

extension String { func isValidEmail() -> Bool { if self == nil { return false }
gives我错误

Value of type 'String' can never be nil, comparison isn't allowed



可以以某种方式在这里检查零吗?

swift
3个回答
6
投票
函数是

nil

的实例函数。

它只能在一个实例上运行。

第二,Swift不像Objective-C那样具有“ nil Messaging”,因此字符串实例是该函数在

Has

上被调用为不是零。即使在Objective-C中,这仍然无关紧要,因为如果在零字符串上调用该函数。

,消息是正确的,

String


您可以检查您的字符串是否为空,为:

String

它有更多的意义。

apter以swift的速度,类型的值可以
never

be

1
投票
;如果您想要一个可疑的价值,则必须声明

var myString : String? if myString.isEmpty { // do whatever you want .. }

,不,没有办法检查
String

变量是否设置为

nil

0
投票

仅在字符串上进行扩展?而不是字符串,这将起作用
String?
	
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.