无法识别的选择器发送到Array中的实例

时间:2013-07-01 06:02:31

标签: iphone ios objective-c ipad nsmutablearray

我正在尝试将一个对象添加到一个数组但是它发送了zig bart错误 “无法识别的选择器发送到实例” 以下是我的代码

AppDelegate     *appdelegate              = (AppDelegate *)[[UIApplication sharedApplication]delegate];
    NSDictionary *infomation = [self dictionaryWithContentsOfJSONString:@"Contacts.json"];
    IstructContactsOrgByEntity *ObjIstructContactsOrgByEntity=[[IstructContactsOrgByEntity alloc]initWithIstructContactsOrgByEntity:infomation];
    NSArray *array=[infomation objectForKey:@"contacts_list"];
    for (int ndx = 0; ndx < [array count]; ndx++)
    {
        NSDictionary *stream = (NSDictionary *)[array objectAtIndex:ndx];
        IstructContacts_List *ObjIstructContacts_List=[[IstructContacts_List alloc]initWithIstructContacts_List:stream];
        NSArray *Qnarray=[stream objectForKey:@"contacts"];
        for (int i=0; i<Qnarray.count; i++)
        {
            NSDictionary *Qnstream = (NSDictionary *)[Qnarray objectAtIndex:i];
            IstructContacts *ObjIstructContacts=[[IstructContacts alloc]initWithIstructContacts:Qnstream];
            [ObjIstructContacts_List.m_muteArrContacts addObject:ObjIstructContacts];
        }

        [ObjIstructContactsOrgByEntity.m_muteArrContacts_List addObject:ObjIstructContacts_List];

    }
    [appdelegate.m_ArrContactsOrgEntity addObject:ObjIstructContactsOrgByEntity];

最后一行[appdelegate.m_ArrContactsOrgEntity addObject:ObjIstructContactsOrgByEntity]; 给我带来了问题。

3 个答案:

答案 0 :(得分:5)

您的问题是编译器认为您已将“m_ArrContactsOrgEntity”声明为NSMutableArray以外的其他内容。

否则,您将看不到“无法识别的选择器”错误。

对于您的另一个暗示,Objective-C中的最佳实践是变量应始终以小写字母开头。将“ObjIstructContacts”,“Qnarray”和“Qnstream”更改为小写字母。

答案 1 :(得分:0)

**AppDelegate.h**

@property(nonatomic,retain) NSMutableArray *m_ArrContactsOrgEntity;


@synthesize m_ArrContactsOrgEntity;

**AppDelegate.m**

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
   self.m_ArrContactsOrgEntity = [[[NSMutableArray alloc] init] autorelease];
}

然后使用AppDelegate Object添加对象。

感谢。

答案 2 :(得分:0)

m_ArrContactsOrgEntity must be NSmutableArray instead of NSArray.

NOW, You will add any items in m_ArrContactsOrgEntity array.