Skip navigation.
 
mlRe: NSMutableAttributedString's setBaseWritingDirection problem
FROM : Ken Thomases
DATE : Sun Jun 15 23:13:19 2008

On Jun 15, 2008, at 3:57 PM, Dmitry Markman wrote:

> Hi, all
>
> I have a problem with the NSMutableAttributedString's 
> setBaseWritingDirection method
>
> here is a code
>
>        NSMutableAttributedString *attrString = [[[NSAttributedString 
> alloc] initWithString:textString attributes:stringAttributes] 
> autorelease];


The above creates an immutable NSAttributedString.  The pointer to 
that is stored in a variable of type NSMutableAttributedString*, but 
that doesn't make it so.  Replace the use of "NSAttributedString" in 
the above with "NSMutableAttributedString" to do the proper thing.

>
>        NSRange attrStringRange = NSMakeRange(0,[[attrString string] 
> length]);
>        @try {
>            [attrString 
> setBaseWritingDirection:NSWritingDirectionNatural
>                                          range:attrStringRange];
>        } @catch (NSException *exception) {
>            NSLog(@"main: Caught %@: %@", [exception name], 
> [exception  reason]);
>        }
> I'm getting exception
> 2008-06-15 16:39:06.465 Gateways[14812:10b] *** -
> [NSConcreteAttributedString setBaseWritingDirection:range:]: 
> unrecognized selector sent to instance 0x10248ab0
>
> NSLog output is
>
> 2008-06-15 16:41:48.676 Gateways[14812:10b] main: Caught 
> NSInvalidArgumentException: *** -[NSConcreteAttributedString 
> setBaseWritingDirection:range:]: unrecognized selector sent to 
> instance 0x10248ab0


This exception sort of gives you the hint, if you know what to look 
for.  The object is of the concrete class NSConcreateAttributedString, 
which doesn't indicate that it's mutable, so you can guess that it 
isn't.

Cheers,
Ken

Related mailsAuthorDate
mlNSMutableAttributedString's setBaseWritingDirection problem Dmitry Markman Jun 15, 22:57
mlRe: NSMutableAttributedString's setBaseWritingDirection problem Ken Thomases Jun 15, 23:13
mlRe: NSMutableAttributedString's setBaseWritingDirection problem Dmitry Markman Jun 16, 00:01