What is the different between NSCFString and NSConstantString?
nsstring, objective-c
Solution
They're both concrete subclasses of `NSString`. `__NSCFString` is one created during runtime via Foundation or Core Foundation, while `__NSCFConstantString` is either a `CFSTR("...")` constant or an `@"..."` constant, created at compile-time.
Their interfaces are private. Treat them both as `NSString` and you should have no trouble.
Problem
I declare the object variable as a `NSString` But when I use the XCode to look into my object, I saw there are two type of String, it seems that the system automatically transfer to another: What are the different between them? Are they interchangeable to one and others. Also, what is the condition two change to another? Thanks.