Warum ein NSEXception -Fehler?
-
28-10-2019 - |
Frage
Ich habe den folgenden Code 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];
... und ich erhalte einen NSException -Fehler.
*** 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?
Was bedeutet das? Was muss ich tun, um dieses Problem zu beheben?
Vielen Dank,
James
Lösung
Sie versuchen, eine Zeichenfolge in Ihrer Wörterbuchinitialisierung zu formatieren, und es erwartet das Format object, key, object, key, etc..
. Um zu beheben, versuchen Sie, Ihre formatierte Zeichenfolge in einer anderen Zeile für Klarheit zu erstellen und dann als Teil der Objekte und Schlüssel als so hinzuzufügen
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];
Andere Tipps
Vielleicht meinst du so etwas:
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];
Ihnen fehlt ein Argument. Ich zähle 8 Argumente, einschließlich Nil. Das bedeutet, dass eines Ihrer Schlüsselwertpaare nicht vollständig ist.
Versuchen Sie es mit Firsty create 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];
Setzen Sie dann diese Zeichenfolge als Objekt in das Wörterbuch ein.