将请求 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];
}
您可以调整它以获得所需的结果。
我正在 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];
}
您可以调整它以获得所需的结果。