Вопрос

Я поместил следующий код в ...;

NSDictionary *plainPart = [NSDictionary dictionaryWithObjectsAndKeys:@"text/plain",kSKPSMTPPartContentTypeKey,
@"Hello,\n You've just received a new message from the iDHSB iPhone App.\n Here it is: %@",field.text,     
kSKPSMTPPartMessageKey,@"8bit",kSKPSMTPPartContentTransferEncodingKey,nil];

... и я получаю ошибку nsexception, говорящую;

*** WebKit discarded an uncaught exception in the webView:shouldInsertText:replacingDOMRange:givenAction: delegate:     
<NSInvalidArgumentException> +[NSDictionary dictionaryWithObjectsAndKeys:]: second object of each pair must be non-nil.  Or, did  
you forget to nil-terminate your parameter list?

Что это значит? Что мне нужно сделать, чтобы решить эту проблему?

Спасибо,

Джеймс

Это было полезно?

Решение

Вы пытаетесь отформатировать строку в инициализации своего словаря, и она ожидает, что формат будет object, key, object, key, etc... Анкет Чтобы исправить, попробуйте создать форматированную строку на другой строке для ясности, а затем добавить ее как часть объектов и клавиш, как таковые

NSString *message = [NSString stringWithFormat:@"Hello,\n You've just received a new message from the iDHSB iPhone App.\n Here it is: %@",
                                                 field.text];
NSDictionary *plainPart = [NSDictionary dictionaryWithObjectsAndKeys:
                              @"text/plain", kSKPSMTPPartContentTypeKey,
                              message, kSKPSMTPPartMessageKey,
                              @"8bit", kSKPSMTPPartContentTransferEncodingKey,nil];

Другие советы

Может ты имел в виду что -то вроде этого:

NSDictionary *plainPart = [NSDictionary dictionaryWithObjectsAndKeys:@"text/plain", kSKPSMTPPartContentTypeKey, [NSString stringWithFormat:@"Hello,\n You've just received a new message from the iDHSB iPhone App.\n Here it is: %@",field.text], kSKPSMTPPartMessageKey, @"8bit", kSKPSMTPPartContentTransferEncodingKey,nil];

Вам не хватает аргумента. Я считаю 8 общих аргументов, включая NIL. Это означает, что одна из ваших паров значений ключей не завершена.

Попробуйте первый создать строку:

NSString *partMessageKey = [NSString stringWithFormat:@"Hello,\n You've just received a new message from the iDHSB iPhone App.\n Here it is: %@",field.text];

Затем поместите эту строку в словарь как объект.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top