¿Por qué un error NSEXCeption?
-
28-10-2019 - |
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
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.