objektif-c - Apakah sebab mengapa terdapat null dan pendua apabila melintasi NSDictionary dalam iOS?
phpcn_u1582
phpcn_u1582 2017-05-02 09:34:28
0
2
759

Apabila saya menghuraikan JSON, data null dan pendua akan muncul apabila melintasi kandungan kamus ke model dalam langkah terakhir Saya mempunyai masalah ini apabila saya menguji api pelayan rakan saya sendiri menggunakan API berita di Baidu APIStore dan mempunyai masalah yang sama. Tolong beritahu saya apa yang saya salah. Terima kasih.

Berikut ialah kod, menggunakan AFNetworking, terdapat 5 tatasusunan dalam JSON, dan bahagian bawah ialah tangkapan skrin konsol, menggunakan gelung for dan komen keluar untuk masuk, kedua-duanya mempunyai masalah yang sama

    [manager POST:@"地址不便透露,抱歉" parameters:parameters progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        NSLog(@"成功");
        if ([responseObject isKindOfClass:[NSDictionary class]]) {
            NSArray *jData = [responseObject objectForKey:@"array"];
            //NSLog(@"%@",jData);
            
            for (NSDictionary * dict in jData)
            {
                NSArray * keys=[dict allKeys];
                JKey * jKey=[[JKey alloc]init];
                /*
                for (NSString * str in keys) {
                    //对对象的属性一一赋值 KVC
                    [jKey setValue:[dict objectForKey:str] forKey:str];
                    if ([dict objectForKey:str] > 0) {
                        [self.testArray addObject:jKey];
                    }
                }
                 */
                for (NSInteger i=0; i<keys.count; i++) {
                    [jKey setValue:[dict objectForKey:keys[i]] forKey:keys[i]];
                    NSLog(@"jKey=%@",jKey.coverpath);
                }
            }
        }

phpcn_u1582
phpcn_u1582

membalas semua(2)
曾经蜡笔没有小新

Saya mencuba sendiri dan tiada masalah untuk memberikan nilai satu demi satu

for (NSDictionary * dict in jData)
{
    JKey * jKey=[[JKey alloc]init];
    jKey.title = [dict valueForKey:@"title"];
    jKey.link = [dict valueForKey:@"link"];
    jKey.Id = [dict valueForKey:@"id"];
    jKey.coverpath = [dict valueForKey:@"coverpath"];
    [self.testArray addObject:jKey];
}
黄舟

Cuba gunakan MJExtension
untuk (NSInteger i = 0; i<array1.count; i++) {


     NormalModel * model = [NormalModel  objectWithKeyValues:array1[i]];
    
    [self.dataArray addObject:model];
}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan