Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 二进制运算符'==';无法应用于类型为的操作数_Swift - Fatal编程技术网

Swift 二进制运算符'==';无法应用于类型为的操作数

Swift 二进制运算符'==';无法应用于类型为的操作数,swift,Swift,二进制运算符“==”不能应用于“Void”(aka“()”)和“String”类型的操作数 我第一次尝试斯威夫特 此代码中出现错误: let username = usernameTextfeild.text; let password = passwordTextfeild.text; let usernameStored = UserDefaults.standard.set(username, forKey: "userName"); let passwor

二进制运算符“==”不能应用于“Void”(aka“()”)和“String”类型的操作数

我第一次尝试斯威夫特

此代码中出现错误:

    let username = usernameTextfeild.text;
    let password = passwordTextfeild.text;

   let usernameStored =  UserDefaults.standard.set(username, forKey: "userName");
   let passwordStored =  UserDefaults.standard.set(password, forKey: "password");

    if(usernameStored == username)

这里的错误在==运算符中。我尝试了stack中的一些答案,但不知道该使用什么。

您试图将存储用户名的结果(即
Void
)与用户名值(即
字符串)进行比较。不能将
Void
String
进行比较

您必须首先从
UserDefaults
获取值,如下所示:

let storedValue = UserDefaults.standard.string(forKey: "userName")

usernameStored不是一个字符串
UserDefaults.standard.set
,它的重载方法也返回void。所以我必须用字符串编写它,只有它能工作?
UserDefaults.standard.set(username,forKey:“username”)
不返回任何内容(因此是Void),所以您只是存储Void。thx you@kbunarjo.OP正在比较
Void
String
(他没有比较
usernameStored
passwordStored
,而是比较
usernameStored
username