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准备词典,在某些情况下我得到[未指定]值。可能是这种情况正在发生,因为“值”没有被考虑..因为[Unspecifed]仅在您发送空值或空值时出现。但我已经为此设定了条件。虽然我在localytics得到了未指定的值。这就是为什么我在准备我要发送的字典时会出错。
提前致谢。
答案 0 :(得分: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%";
}