-5

オブジェクトを配列に追加しようとしていますが、「認識されないセレクターがインスタンスに送信されました」というジグバートエラーが送信されます 以下は私のコードです

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]; が問題を引き起こしています。

4

3 に答える 3

5

あなたの問題は、コンパイラが " m_ArrContactsOrgEntity" を NSMutableArray 以外のものとして宣言したと考えていることです。

そうしないと、「認識されないセレクター」エラーは表示されません。

もう 1 つのヒントとして、Objective-C でのベスト プラクティスとして、変数は常に小文字で開始する必要があります。ObjIstructContacts" "、" Qnarray"、および " Qnstream" を小文字で開始するように変更します。

于 2013-07-01T06:05:34.170 に答える
0
m_ArrContactsOrgEntity must be NSmutableArray instead of NSArray.

NOW, You will add any items in m_ArrContactsOrgEntity array.
于 2013-07-01T08:43:14.843 に答える