-3
NSString* promocode = @"DISCOUNT20";
[attributes setObject:[promocode length]>0?promocode:@"Valid Promo Code" forKey:ATT_BookingPromoCode];
At Console:
{
  "Promo Code" = DISCOUNT20;
}

NSString* promocode = @"Jan20%";
[attributes setObject:[promocode length]>0?promocode:@"Valid Promo Code" forKey:ATT_BookingPromoCode];
At Console:
{
  "Promo Code" = "Jan20%";
}

なぜ引用された違いを得るのですか?これを避けるために私は何をすべきですか?

違いを知る必要があるため

Localytics の Dictionary を準備していますが、場合によっては [Unspecified] 値を取得しています。「値」が考慮されていないために、これが発生している可能性があります.. [Unspecifed] は、空の値または null 値を送信している場合にのみ発生します。しかし、私はすでにそのための条件を設定しています。localytics で不特定の値を取得していますが。それが、私が送信している辞書を作成する際にエラーになる理由です。

前もって感謝します。

4

1 に答える 1

1

違いは、

NSString* promocode = @"Jan20%";

% (エスケープに使用される文字) が含まれており、文字列オブジェクトではなく辞書を実際に出力したこと

例として

NSDictionary *d = @{@"test1":@"Discount20", @"test2":@"jan20%"};
for (id key in [d allKeys]) {
    NSLog(@"%@", [d objectForKey:key]);
}
/* Output :
   Discount20
   jan20%
*/
NSLog(@"%@",d);
/* Output     
   {
    test1 = Discount20;
    test2 = "jan20%";
}
于 2015-01-23T08:20:19.240 に答える