Я создаю NSDictionary, используя код ниже, и я ожидаю, что ключ @ "originalMessageId" содержит [NSNull null], когда originalMessageId.intValue == -1.Почему [NSNull null] значение не добавлено в NSDictionary?
Но мой метод Logger writeToLogFile дает следующий вывод:
2014-04-07 19:16:52: JSON Params: {
addressId = 1;
}
Я раздел код туда, где он только пытается добавить два ключа, и до сих пор это не добавляет ключа originalMessageId.
Куда я иду не так?
P.S. Код не работает, когда я загружаю приложение в качестве сборки сборки, но, похоже, работает, когда загружаю приложение в качестве сборки разработки.
NSDictionary *jsonDict;
SourcePhoneNumber *sourcePhoneNumber = [DatabaseInterface fetchDefaultSourceNumber];
[Logger writeToLogFile:[NSString stringWithFormat:@"sourcePhoneNumber = %@", sourcePhoneNumber]];
if (originalMessageId.intValue == -1)
{
//NSString *uuidString = [[NSUUID UUID] UUIDString];
jsonDict = [[NSDictionary alloc] initWithObjectsAndKeys:
[NSNumber numberWithUnsignedLongLong:1], @"addressId", /* should be sourcePhoneNumber.addressId */
//messageBody, @"messageBody",
//contacts, @"contacts",
//uuidString, @"clientId",
[NSNull null], @"originalMessageId",
nil];
}
else
{
jsonDict = [[NSDictionary alloc] initWithObjectsAndKeys:
[NSNumber numberWithUnsignedLongLong:1], @"addressId", /* should be sourcePhoneNumber.addressId */
originalMessageId, @"originalMessageId",
messageBody, @"messageBody",
contacts, @"contacts",
nil];
}
[Logger writeToLogFile:[NSString stringWithFormat:@"JSON Params: %@", jsonDict]];
Почему вы используете архаичный метод настройки словаря, а не (более приятную) встроенную версию? –
Знаете ли вы, что 'originalMessageId.intValue' равно' -1'? если это не '-1', а' originalMessageId' - 'nil', вы получите вывод, который видите. – rmaddy
@rmaddy, который не кажется правильным, если originalMessageID равен нулю, вы получите исключение. «Если какой-либо ключ равен нулю, возникает исключение NSInvalidArgumentException». https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSDictionary_Class/Reference/Reference.html#//apple_ref/doc/uid/20000140-CBHCIFDD – RobP