NSPredicate没有为每个数组元素swift Core-Data返回值

时间:2017-05-16 02:52:08

标签: swift core-data nspredicate

我使用Core-Data作为支持汇率转换器,我希望使用NSFetchRequest显示用户在UITableView中请求的每个国家/地区货币。

我的数据模型是:

enter image description here

例如,如果用户选择英国,美国,津巴布韦,中国和赞比亚,则应该有五种货币。也就是说,从核心数据中取出五行。问题在于津巴布韦也使用USDollar作为其货币。

我们查找三位数货币代码

$email = 'some@email.com';
$list = '123456';
$note = 'This is an example of a note.';

$apiKey = 'MY-API-KEY';
$memberId = md5(strtolower($email));
$dataCenter = substr($apiKey,strpos($apiKey,'-')+1);
$url = 'https://'.$dataCenter.'.api.mailchimp.com/3.0/lists/'.$list.'/members/'.$memberId.'/notes';

$json['note'] = $note;

$json = json_encode($json);

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_USERPWD, 'user:' . $apiKey);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);                                                                                                                 

$result = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

if ($httpCode == 200) {
    return true;
} else {
    return false;
}

在核心数据中但只返回4个结果(因此我的UITableView中只有4行)。我们要求美元退两次!

我怀疑问题是我的谓词:

threeDigitMain = ["ZAR", "CNY", "USD", "USD", "GBP"] 

我查看了文档,花了一些时间使用不同的谓词并尝试了request.returnsDistinctResults = false 但是在这种情况下我不知道要设置属性的内容 - 总而言之,我似乎无法接近答案。我很感激任何帮助。

使用以下谓词来澄清

request.predicate = NSPredicate(format: "threedigitcountrycode IN %@", threeDigitMainCountries)

返回一个值,我想要三个。

0 个答案:

没有答案