Facebook评论数组包含空值。我该如何处理?

时间:2014-05-01 06:01:14

标签: ios objective-c

我正在使用Facebook图形API,我有一个注释数组。这个注释数组有很多空值。我怎么处理这个?

这是我的代码。

 NSArray *commentData =[TheMainData valueForKey:@"comments"];

          NSArray *thecommentdata =[commentData valueForKey:@"data"];
           //NSLog(@"%@",thecommentdata);


        NSMutableArray *themaincommentdata=[[NSMutableArray alloc] init];

              themaincommentdata =[[thecommentdata objectAtIndex:indexPath.row]valueForKey:@"message" ];

        NSLog(@"%@",themaincommentdata);

当我记录我的thecommentdata数组时,我得到以下结果:

(
                {
            "can_remove" = 1;
            "created_time" = "2014-04-30T13:22:45+0000";
            from =             {
                id = 100000329153640;
                name = "Ishant Tiwari";
            };
            id = "241720846019272_241721019352588";
            "like_count" = 0;
            message = "waoooo iron man comment .................";
            "user_likes" = 0;
        },
                {
            "can_remove" = 1;
            "created_time" = "2014-04-30T13:25:16+0000";
            from =             {
                id = 100000329153640;
                name = "Ishant Tiwari";
            };
            id = "241720846019272_241721626019194";
            "like_count" = 0;
            message = "2nd comment";
            "user_likes" = 0;
        }
    ),
    "<null>",
    "<null>",
    "<null>",
    "<null>",
    "<null>",
    "<null>",
    "<null>",
    "<null>",
    "<null>",
    "<null>",
    "<null>",
    "<null>",
    "<null>",
        (
                {
            "can_remove" = 1;
            "created_time" = "2014-04-25T05:14:34+0000";
            from =             {
                id = 100005440749818;
                name = "Birjesh Sharma";
            };
            id = "240287756162581_240287929495897";
            "like_count" = 0;
            message = "comment by nishant";
            "user_likes" = 0;
        }
    ),
    "<null>",
    "<null>",
    "<null>",
    "<null>",
    "<null>",
    "<null>",
    "<null>",
    "<null>",
    "<null>",
    "<null>"
)

在我点击空值后,没有评论可以从thecommentdata导入到themaincommentdata数组的问题。

以下是themaincommentdata数组的日志输出:

(
    "waoooo iron man comment .................",
    "2nd comment"
)
2014-05-01 11:31:34.819 Dozo[741:3b0b] CFNetwork SSLHandshake failed (-9806)  

我该如何处理这类问题?

2 个答案:

答案 0 :(得分:0)

尝试使用这样的东西:

-(BOOL)isNullForObject:(id)obj{

    return (!obj || obj = (id)[NSNull null]); 

}


id fieldX =...

if (![self isNullForObject:fieldX]){

    // Do your stuff...

}

希望有所帮助

答案 1 :(得分:0)

您可以使用try-catch阻止或if条件

如果您有任何例外,

try-catch会阻止

@try {
    themaincommentdata =[[thecommentdata objectAtIndex:indexPath.row]valueForKey:@"message" ];
    ....
    ....
}

@catch(NSException *exception) {
    NSLog(@"Some NULL Values");
}

使用if条件

if (![[thecommentdata objectAtIndex:indexPath.row]valueForKey:@"message" ] == [NSNull null]) {
    NSLog(@"%@", [[thecommentdata objectAtIndex:indexPath.row]valueForKey:@"message" ]);
}