模块'AFNetworking'没有名为'request'的成员

时间:2016-10-06 14:14:06

标签: swift

我是编码的新手。任何帮助表示赞赏!

我正在关注如何在我的项目中设置Stripe的教程。
我将AFNetworking集成到我的项目中,而不是Alamofire。
本教程使用了Alamofire,所以我收到此错误是因为我正在使用AFNetworking?
我尝试将Alamofire添加到我的pod文件中以使我更容易遵循教程,但是当pod文件清楚时,我一直收到错误“目录中没有找到pod文件”在目录中(除非我发现它错了)。
对如何解决这个错误感到有点困惑。

我该怎么办? Screenshot

1 个答案:

答案 0 :(得分:0)

Alamofire AFNetworking 是不同的。虽然由同一个人编码。您将无法交换类名,因为两个库都有不同的实现。如果您使用 Swift 进行编码,则应使用Alamofire,因为它也是用Swift编写的。

您可以将两个库保留在项目中,但这就像拥有两个相同内容的副本一样。如果Stripe需要,您可能希望将代码迁移到Alamofire,否则,您需要花一些时间重新启动AFNetworking的Stripe教程代码。

Alamofile提出这样的请求:

Alamofire.request("https://httpbin.org/get").responseJSON { response in
    print(response.request)  // original URL request
    print(response.response) // HTTP URL response
    print(response.data)     // server data
    print(response.result)   // result of response serialization

    if let JSON = response.result.value {
        print("JSON: \(JSON)")
    }
}

和AFNetworking看起来像这样,因为它是用 Objective-C 编写的:

NSString *URLString = @"http://example.com";
NSDictionary *parameters = @{@"foo": @"bar", @"baz": @[@1, @2, @3]};
[[AFJSONRequestSerializer serializer] requestWithMethod:@"POST" URLString:URLString parameters:parameters error:nil];

对于Cocoapods,如果你想要Alamofire,你需要这条线

pod 'Alamofire', '~> 4.0'

在您的申请目标下。 Alamofire还有其他一些修订版。如果您不使用Swift 3,则需要:

pod 'Alamofire', '~> 3.4'
在Podfile中

,然后运行pod install。