gpt4 book ai didi

ios - 在 Objective-C 中传递参数

转载 作者:行者123 更新时间:2023-11-28 20:00:21 26 4
gpt4 key购买 nike

我有一个请求 URL 的 sharedClient

#define BASE_URL @"http://myurl.com"

+ (id)sharedClient {
static MyClient *__instance;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
NSURL *baseUrl = [NSURL URLWithString:BASE_URL];
__instance = [[MyClient alloc] initWithBaseURL:baseUrl];
});
return __instance;
}

然后我在按下按钮时在 View Controller 中调用它

id params = @{
@"username": self.usernameField.text,
@"password": self.passwordField.text
};

[[MyClient sharedClient]getPath:@"/users/current.json"
parameters:params
success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSString *authToken = [responseObject objectForKey:@"api_key"];
[self.credentialStore setAuthToken:authToken];

[SVProgressHUD dismiss];

[self dismissViewControllerAnimated:YES completion:nil];
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"%ld", (long)operation.response.statusCode);
if (operation.response.statusCode == 500) {
[SVProgressHUD showErrorWithStatus:@"Something went wrong!"];
} else {
NSData *jsonData = [operation.responseString dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:jsonData
options:0
error:nil];
NSString *errorMessage = [json objectForKey:@"error"];
[SVProgressHUD showErrorWithStatus:errorMessage];
}
}];

这段代码工作正常,但我的问题是我尝试访问的 API 有点奇怪。您必须在 url 之前传递用户名和密码。像这样

http://username:password@myurl.com

我将如何在 URL 的 http 之前传递参数?

最佳答案

NSURLComponents *urlComponents = [NSURLComponents componentsWithString:BASE_URL];
urlComponents.user = @"user";
urlComponents.password = @"pass";
NSURL *url = urlComponents.URL;

然后只需使用 url 来初始化您的客户端。

关于ios - 在 Objective-C 中传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24470690/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com