iphoneobjective-ciosnsarraynsobject

What is __NSArrayI and __NSArrayM? How to convert to NSArray?


What is __NSArrayI and __NSArrayM?

__NSArrayI(or M) cause "unrecognized selector" error.

How to convert to NSArray?


I did test to parse json, twitter api.

http://api.twitter.com/1/followers/ids.json?cursor=-1&screen_name=twitterapi

==> works fine. parsed object is NSCFDictionary class. (This dictionary contains __NSArrayM class)

http://api.twitter.com/1/statuses/user_timeline.json?&screen_name=twitterapi

==> error. parsed object is __NSArrayM class.


Solution

  • __NSArrayI is a code-word for an immutable array - that is, a "regular" NSArray which you cannot change.

    __NSArrayM is a code-word for a mutable array - that is, NSMutableArray. In NSMutableArray, you can add and remove items.