Thank you, Ken. It took some research and experimentation before I could understand your explanation, but it looks like that’s exactly what I needed.
— Charles Jenkins On Tuesday, November 18, 2014 at 3:43 PM, Ken Thomases wrote: > On Nov 18, 2014, at 6:38 AM, Charles Jenkins <cejw...@gmail.com > (mailto:cejw...@gmail.com)> wrote: > > > It’s very easy to create an NSAttributedString that represents a text > > table, then show the table in a TextView so the user can edit information > > in the cells. The documentation on how to create a text table > > (https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/TextLayout/Articles/TextTables.html) > > is fairly clear. > > > > What I don’t see—and maybe it’s there but I just don’t understand it—is how > > to pull the table apart again. Suppose I want to grab all text from the > > first cell after the user has edited it. How do I do that? > > You would presumably enumerate the attributed string's ranges for the > NSParagraphStyleAttributeName attribute, using > -enumerateAttribute:inRange:options:usingBlock:. For each paragraph style > object, you would check its textBlocks property to determine which cell the > range is part of. > > You're presumably either dealing with just a one-level table or the top-level > table, so you would be interested in the firstObject of the textBlocks array. > After verifying that it's an NSTextTableBlock, you'd check its table, > startingRow, rowSpan, startingColumn, and columnSpan to determine which cell > it's a part of. If you're interested in the entire contents of the first > cell, you'll need to accumulate the ranges that are part of it, since they > won't necessarily all be part of a single range as enumerated. > > Regards, > Ken > > _______________________________________________ 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: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com