Hello!

According to documentation, I try to subclass NSTextStorage and use it in text 
view:

/*
NSTextStorage is a semi-abstract subclass of NSMutableAttributedString. It 
implements change management (beginEditing/endEditing), verification of 
attributes, delegate handling, and layout management notification. The one 
aspect it does not implement is the actual attributed string storage --- this 
is left up to the subclassers, which need to override the two 
NSMutableAttributedString primitives:

  - (void)replaceCharactersInRange:(NSRange)range withString:(NSString *)str;
  - (void)setAttributes:(NSDictionary *)attrs range:(NSRange)range;

*/

So I try to use delegate, to handle all needed events with same functionality:

------------------------ code --------------------------

@implementation MyTextStorage

- (id) init {
        self = [super init];
        
        if (self != nil) {
                storage = [[NSMutableAttributedString alloc] init];
        }
        
        return self;
}

- (void) dealloc {
        [storage release];
        [super dealloc];
}

- (NSString *) string {
        return [storage string];
}

- (void) replaceCharactersInRange:(NSRange)range withString:(NSString *)str {
        [storage replaceCharactersInRange:range withString:str];
}

- (void)setAttributes:(NSDictionary *)attrs range:(NSRange)range {
        [storage setAttributes:attrs range:range];
}


@end

------------------------ /code --------------------------

It is no matter what I'm use as delegate: NSTextStorage or 
NSMutableAttributedString, The result is the same:

---------------- log -------------------

An uncaught exception was raised
*** NSRunStorage, _NSBlockNumberForIndex(): index (18446744073709551615) beyond 
array bounds (0)
*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** 
NSRunStorage, _NSBlockNumberForIndex(): index (18446744073709551615) beyond 
array bounds (0)'

---------------- /log -------------------

What I need to do to extend this class ?


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to