【问题标题】:AFNetworking Having trouble making a requestAFNetworking 发出请求时遇到问题
【发布时间】:2015-04-08 23:55:36
【问题描述】:

我是 AFNetworking 的新手,我正在做噩梦。

到目前为止,我已经创建了这个方法:

-(void)UserLogin:(NSString *)user andPassWordExists:(NSString *)password completionHandler:(void (^)(NSArray *resultsObject, NSError *error))completionHandler
{


   NSURL *url = [NSURL URLWithString:kIP];
   NSURLRequest *request = [NSURLRequest requestWithURL:url];

    AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc]
                                         initWithRequest:request];

    [operation setCredential:[NSURLCredential credentialWithUser:[@"domain" stringByAppendingString:user]
                                                        password:password persistence:NSURLCredentialPersistenceForSession]];

    operation.responseSerializer = [AFJSONResponseSerializer serializer];

    [[NSOperationQueue mainQueue] addOperation:operation];

    [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {

        if (completionHandler) {
            completionHandler(responseObject, nil);
        }

    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {

        if (completionHandler) {
            completionHandler(nil, error);
        }

    }];

    [operation start];
}

我只是对下一步是什么感到非常困惑。我在另一个文件中有这个其他方法,我想调用 UserLogin 方法并传入用户名和密码,我想这样做吗:

- (void)Login
{
    NSString *rawString = [self.idTextField text];
    NSCharacterSet *whitespace = [NSCharacterSet whitespaceAndNewlineCharacterSet];
    [self.idTextField setText:[rawString stringByTrimmingCharactersInSet:whitespace]];


    [userName User:self.idTextField.text andPassWordExists:self.passwordTextField.text:^(id responseObject, NSError *error) {
        if (responseObject) {
            //We have a user.
        }
    }];

}

【问题讨论】:

    标签: ios objective-c afnetworking


    【解决方案1】:

    第二个片段的想法是正确的,但不清楚“用户名”对象是什么。那应该是第一个 snippit 方法所在的类的实例,并且您创建的方法的名称是“UserLogin”(您输入“User”)。

    【讨论】:

    • 你能举个例子吗?
    • 如果您的第一个片段包含在名为 Networking.m 的文件中。您可以使用以下方法调用您编写的方法:Networking *networking = [[Networking alloc] init] 和:[networking UserLogin:self.idTextField.text andPassWordExists:self.passwordTextField.text completionHandler:^(id responseObject, NSError *error) { ... }]; 这更像是一个 OOP 问题——如果您没有大量使用 Objective C,您应该先关注语言,然后再尝试做任何网络相关的东西。
    猜你喜欢
    • 2014-11-02
    • 2019-05-08
    • 2020-02-08
    • 2015-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-13
    • 1970-01-01
    相关资源
    最近更新 更多