Objective c 在使用WordNik API的导入cocapod中实现请求URL

Objective c 在使用WordNik API的导入cocapod中实现请求URL,objective-c,swift,xcode,wordnik,Objective C,Swift,Xcode,Wordnik,我正在用Xcode制作一个swift应用程序,它使用了一个名为HNKWordLookup(最初用objective c编写)的cocapod。这个pod使用WordNik API返回一个随机单词。我唯一的问题是,返回的许多单词都非常模糊 我想我可以转到页面并在那里设置参数,然后得到一个符合这些参数的请求URL。我假设我需要把它放在代码中的某个地方,以代替预先编写的pod中存在的另一个URL,但是我不知道将请求URL放在哪里。首先,我将它放在pod的.m文件(“HNKLookup.m:)中的以下代

我正在用Xcode制作一个swift应用程序,它使用了一个名为HNKWordLookup(最初用objective c编写)的cocapod。这个pod使用WordNik API返回一个随机单词。我唯一的问题是,返回的许多单词都非常模糊

我想我可以转到页面并在那里设置参数,然后得到一个符合这些参数的请求URL。我假设我需要把它放在代码中的某个地方,以代替预先编写的pod中存在的另一个URL,但是我不知道将请求URL放在哪里。首先,我将它放在pod的.m文件(“HNKLookup.m:)中的以下代码行中:

改成

static NSString *const kHNKLookupBaseUrl = @"http://api.wordnik.com:80/v4/words.json/randomWord?hasDictionaryDef=true&excludePartOfSpeech=definite-article&minCorpusCount=1&maxCorpusCount=-1&minDictionaryCount=30&maxDictionaryCount=-1&minLength=1&maxLength=-1&api_key=a2a73e7b926c924fad7001ca3111acd55af2ffabf50eb4ae5";

但这破坏了我的代码。我是否应该在pod中寻找某个短语或区域,在那里我可以放入新的请求URL,从而使用所需参数运行我的程序?正如您所知,我对编程非常陌生。

您不应该在pod中更改kHNKLookupBaseUrl。kHNKLookupBaseUrl用于连接到服务总工程师。 使用此选项可以获得一个随机单词:

    [[HNKLookup sharedInstance] randomWordWithCompletion:^(NSString *randomWord, NSError *error) {
    if (error) {
        NSLog(@"ERROR: %@", error);
    } else {
        NSLog(@"%@", randomWord);
    }
}];
您在HNKHttpSessionManager.m中初始化了参数

+ (NSUInteger)randomWordWithCompletion:(void (^)(NSURLSessionDataTask *, id,
                                                 NSError *))completion
{
  return
      [self startRequestWithPath:kHNKPathRandomWord
                      parameters:@{
                        @"hasDictionaryDef" :
                            @(kHNKRandomWordShouldHaveDictionaryDefinition),
                        @"minCorpusCount" : @(kHNKRandomWordMinimumCorpusCount),
                        @"maxCorpusCount" : @(kHNKRandomWordMaximumCorpusCount),
                        @"minDictionaryCount" :
                            @(kHNKRandomWordMinimumDictionaryCount),
                        @"maxDictionaryCount" :
                            @(kHNKRandomWordMaximumDictionaryCount),
                        @"minLength" : @(kHNKRandomWordMinimumLength),
                        @"maxLength" : @(kHNKRandomWordMaximumLength)
                      }
                      completion:completion];
}

您可以对此进行调整以获得所需的结果。

您不应在pod中更改kHNKLookupBaseUrl。kHNKLookupBaseUrl用于连接到服务。 使用此选项可以获得一个随机单词:

    [[HNKLookup sharedInstance] randomWordWithCompletion:^(NSString *randomWord, NSError *error) {
    if (error) {
        NSLog(@"ERROR: %@", error);
    } else {
        NSLog(@"%@", randomWord);
    }
}];
您在HNKHttpSessionManager.m中初始化了参数

+ (NSUInteger)randomWordWithCompletion:(void (^)(NSURLSessionDataTask *, id,
                                                 NSError *))completion
{
  return
      [self startRequestWithPath:kHNKPathRandomWord
                      parameters:@{
                        @"hasDictionaryDef" :
                            @(kHNKRandomWordShouldHaveDictionaryDefinition),
                        @"minCorpusCount" : @(kHNKRandomWordMinimumCorpusCount),
                        @"maxCorpusCount" : @(kHNKRandomWordMaximumCorpusCount),
                        @"minDictionaryCount" :
                            @(kHNKRandomWordMinimumDictionaryCount),
                        @"maxDictionaryCount" :
                            @(kHNKRandomWordMaximumDictionaryCount),
                        @"minLength" : @(kHNKRandomWordMinimumLength),
                        @"maxLength" : @(kHNKRandomWordMaximumLength)
                      }
                      completion:completion];
}

您可以对此进行调整以获得所需的结果。

您可以发布错误吗?可能是因为第一个错误指向html页面,第二个url提供了一个系统可能不希望看到的字典。当然可以,但由于字符限制,它无法完成整件事。我将向imgur上传完整错误的屏幕截图。谢谢
UserInfo={NSLocalizedDescription=请求失败:未经授权(401),NSErrorFailingURLKey=[我粘贴的请求URL]
你能发布错误吗?可能是因为第一个指向html页面,第二个url提供了一个系统可能不希望看到的字典。当然可以,但由于字符限制,它不能完成全部操作。我会将完整错误的屏幕截图上传到imgur。谢谢
UserInfo={NSLocalizedDescription=请求失败:未经授权(401),NSErrorFailingURLKey=[我粘贴的请求URL]
wow非常感谢。我希望有像你这样的人能过来给我指一下HNKHttpSessionManager.m文件,在那里我可以更改参数。我所需要做的就是更改MincOpsCount和minDictionaryCount,所以这只是调整这两个的问题。再次,非常感谢你。哈哈,非常感谢。我希望如此像你这样的人会过来告诉我HNKHttpSessionManager.m文件,在那里我可以更改参数。我所需要做的就是更改minCorpusCount和minDictionaryCount,所以这只是调整这两个的问题。再次感谢你,哈哈