Convert NSCFString to NSString

17,714

You don't need to convert _NSCFString to NSString. As a subclass of NSString it's guaranteed to respond to -isEqualToString: (and every other method in NSString). Your issue is not coming from the string, likely it is coming from myDictionary. Try logging all the keys in the dictionary and make sure it is behaving as expected.

Share:
17,714

Related videos on Youtube

Prashant Nikam
Author by

Prashant Nikam

Live life king size. Linkedin Profile : http://www.linkedin.com/pub/prashant-nikam/73/ba7/a68

Updated on July 07, 2022

Comments

  • Prashant Nikam
    Prashant Nikam almost 2 years

    I am getting a dictionary from server

    myDictionary = 
    {
    "rank":"1",
    "color":"red",
    "position":"middle"
    }
    

    Now I want to check the value of key "position" in if condition

    I am doing it like this

    if ([[myDictionary valueForKey:@"position"] isEqualToString:@"middle"]) {
            //do Some stuff
    } else{
            //do some other stuff
    }
    

    but data type of [myDictionary valueForKey:@"position"] is _NSCFString, so it does not compare value properly and never goes in if loop even the value is correct.

    how do I convert it into NSString so that I could compare it in if condition ?

    I have seen these questions..

    NSString instance reports its class as NSCFString

    Getting an NSString from an NSCFString

    NSString or NSCFString in xcode?

    from these question I just came to know that NSString is really a container class for different types of string objects. Generally an NSString constructor does return an object that is actually of type NSCFString, which is a thin wrapper around the Core Foundation CFString struct.

    but they didn't help me..and no one actually telling how to convert in into NSString, so please don't mark it as duplicate.

  • Vladislav Kan
    Vladislav Kan about 9 years
    I know its been so long, but, please post some more explanation. Thanks.
  • Ephemera
    Ephemera about 9 years
    @VladislavKan Have a look here for a related question. NSString is the parent class from which all subclasses are derived.