将请求 URL 实施到使用 WordNik API 的导入的 cocapod

Implementing a request URL into an imported cocapod that uses WordNik API

我正在 Xcode 中制作一个 swift 应用程序,它使用名为 HNKWordLookup 的 cocapod(最初在 objective c 中编写)。这个 pod 使用 WordNik API 来 return 一个随机词。我唯一的问题是很多 returned 的词都非常晦涩。

我想我可以转到 http://developer.wordnik.com/docs 页面并在那里设置参数,然后得到满足这些参数的请求 URL。我假设我需要将它放入我的代码中的某个位置,以代替预写 pod 中存在的另一个 URL,但我不知道将请求 URL 放在哪里。起初我把它放在 pod 的 .m 文件中的以下代码行中 ("HNKLookup.m:):

 static NSString *const kHNKLookupBaseUrl = @"http://api.wordnik.com:80/v4";

改为

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];
}

您可以调整它以获得所需的结果。