Perché un errore Nsexception?
-
28-10-2019 - |
Domanda
Ho inserito il seguente codice in ...;
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];
... e ricevo un errore di Nsexception che 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?
Cosa significa questo? Cosa devo fare per risolvere questo problema?
Grazie,
Giacomo
Soluzione
Stai cercando di formattare una stringa nell'inizializzazione del tuo dizionario e si aspetta che il formato sia object, key, object, key, etc..
. Per correggere prova la creazione della stringa formattata su un'altra riga per chiarezza e quindi aggiungendola come parte degli oggetti e delle chiavi come così
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];
Altri suggerimenti
Forse intendevi qualcosa di simile:
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];
Ti manca una discussione. Conto 8 argomenti totali tra cui zero. Ciò significa che una delle coppie di valori chiave non è completa.
Prova Firsty Crea String:
NSString *partMessageKey = [NSString stringWithFormat:@"Hello,\n You've just received a new message from the iDHSB iPhone App.\n Here it is: %@",field.text];
Quindi inserisci questa stringa sul dizionario come oggetto.