Pregunta

He puesto el siguiente código en ...;

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];

... y recibo un error de Nsexception que dice;

*** 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?

¿Qué significa esto? ¿Qué tengo que hacer para solucionar este problema?

Gracias,

Jaime

¿Fue útil?

Solución

Está tratando de formatear una cadena en la inicialización de su diccionario y espera que el formato sea object, key, object, key, etc... Para arreglar, intente crear su cadena formateada en otra línea para mayor claridad y luego agregarla como parte de los objetos y claves como así

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];

Otros consejos

Tal vez quisiste decir algo como esto:

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];

Te estás perdiendo una discusión. Cuento 8 argumentos totales, incluido nulo. Eso significa que uno de sus pares de valor clave no está completo.

Prueba primero Crear cadena:

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

Luego pon esta cadena en el diccionario como objeto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top