Question

How can I detect if the NSString contains the NSTextAttachment [OBJ] shown on the picture below?

Logging the text doesn't show anything besides plain text.

NSLog(@" Message: %@", message);

I managed to delete it with:

NSCharacterSet *notAllowedChars = [[NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"] invertedSet];
NSString *resultString = [[conversation.lastMessage componentsSeparatedByCharactersInSet:notAllowedChars] componentsJoinedByString:@""];

but it feels more like a hack than real solution. I am really surprised that it's even showing up since the message is an instance of the NSString class...

enter image description here

Était-ce utile?

La solution

A text attachment is always associated with an NSAttachmentCharacter in the text. It is unprintable which is why you don't see it in the log. But you can search on it and delete it.

Autres conseils

NSLog calls the description selector on objects referenced by %@, so it prints strings even for objects which are not strings.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top