【发布时间】:2024-01-13 23:17:01
【问题描述】:
我有一个函数,当用户在应用程序内单击登录时调用该函数。我以 Anyhashable 格式获取用户输入的密码和用户名。在将 userDataContent 作为参数传递的地方进行 Alamofire 调用。 我的登录功能,
func loginWithUserData(userData: Dictionary<String, Any>
,completion: @escaping (_ success:DataResponse<Any>)->Void) {
print("userDataContent in loginWithUsertDataCall: ", userData)
NetworkManager.sharedNetworkManager.performNetworkOperation(url: myEndpoint().userSession(), httpmethod: .post, parameters: userData) { response in
completion(response)
}
}
我将以下内容作为我的用户数据(其中包含用户名和密码),
userDataContent in loginWithUsertDataCall:
["user":
[AnyHashable("password"): <TextFieldValidator: 0x7fa94e89aa00;
baseClass = UITextField;
frame = (0 0; 155.333 23.3333);
text = '**MYPASSWORD123**';
opaque = NO;
autoresize = RM+BM;
gestureRecognizers = <NSArray: 0x604000a468a0>;
layer = <CALayer: 0x604000833be0>>,
AnyHashable("email"): <TextFieldValidator: 0x7fa94e90be00;
baseClass = UITextField;
frame = (0 0; 263.667 23.3333);
text = '**myloginEmail@test.com'**;
opaque = NO;
autoresize = RM+BM;
gestureRecognizers = <NSArray: 0x604000a547f0>;
layer = <CALayer: 0x604000638840>>
]
]
我的问题是,应该如何修改 Anyhashable,以便我可以在我正在进行的 Alamofire 网络调用中将用户名和密码作为参数发送。欢迎任何指导。
【问题讨论】:
-
为什么要发送
TextFieldValidator,它似乎是UITextField的子类?你为什么不直接发送它的text属性?应该是 ["user:["password":(textField1.text), "email":(textField2.text)]] 其中textField1&textField2对应正确的TextFieldValidator。 -
@SeaWarrior404 检查答案希望这对你有用