Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

cannot convert value of type 'String' to type 'NSString' in coercion when i use self swift2 with ubuntu 16.04

Tags:

swift

ubuntu

i have a problem with a code that throw the next message:

error: cannot convert value of type 'String' to type 'NSString' in coercion
            return (self as NSString).substringWithRange(range)

I could resolve it before but not with a self calling, so here is the code:

let range = expression.rangeOfFirstMatchInString(self, options: [], range: NSMakeRange(0, self.utf16.count))
    if range.location != NSNotFound {
        return (self as NSString).substringWithRange(range)
    }
    return nil
like image 797
Guillermo Navarro Avatar asked May 18 '16 07:05

Guillermo Navarro


1 Answers

The swift compiler in Ubuntu won't auto recognize that NSString has a constructor that gets String as argument. (at build time the compiler interprets it)

Instead do the work by your self by writing

NSString(string: self)
like image 182
Daniel Krom Avatar answered Nov 14 '22 22:11

Daniel Krom