On 16 Aug 2014, at 16:25, Stephen J. Butler <stephen.but...@gmail.com> wrote:

> Try:
> 
> import Cocoa
> 
> let s = "hallo\there"
> let aas = NSMutableAttributedString(string: s, attributes: nil)
> 
> if let rangeOfTab = s.rangeOfString( "\t" ) {
>     let colour = NSColor.grayColor()
>     let length = distance(s.startIndex, rangeOfTab.startIndex)
>     let aRange = NSRange(location: 0, length: length)
>     aas.addAttribute(NSForegroundColorAttributeName, value: colour, range: 
> aRange)
> }

Did try:

let s = "a 🚲 bicycle"
let endGray = "c"

if let rangeOfB = s.rangeOfString(endGray )
{
        let length = distance(s.startIndex, rangeOfB.startIndex)
        println( "\(endGray) at composed character index index \(length)")      
        //      6
}

let ns = s as NSString
let range = ns.rangeOfString(endGray)
let nsLength = range.location
println( "\(endGray)  at NSString index \(nsLength)")   //      7

Using "length" with addAttribute:value:range would NOT be quite correct, would 
it?
Seems like "nsLength" is more appropriate.

Kind regards,

Gerriet.


_______________________________________________

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

Reply via email to