将布尔指针与整数警告进行比较

时间:2016-01-14 17:49:10

标签: objective-c pointers parse-platform boolean

我有一个填充原型单元格的方法,并且正在抛出两个警告,我不知道该怎么做。

首先,我将不兼容的整数转换为指针初始化BOOL ...'我的声明:

BOOL *isAVideo = [[feedItem objectForKey:@"isAVideo"]boolValue];

其次,当我在比较中使用该变量来检查对象的值时:

if (isAVideo == 1)

警告状态'指针和整数之间的比较'。 以下是上下文的方法:

- (void)setFeedItem:(PFObject *)feedItem
{
_feedItem = feedItem;
PFUser *user = [feedItem objectForKey:@"user"];
BOOL *isAVideo = [[feedItem objectForKey:@"isAVideo"]boolValue];

[_usernameButton setTitle:user.username
                 forState:UIControlStateNormal];
_captionView.text = [feedItem objectForKey:@"desc"];
_timestampLabel.text = [NSDate cks_stringForTimeSinceDate:feedItem.createdAt];

PFQuery *query = [PFQuery queryWithClassName:@"tfeed"];
[query getFirstObjectInBackgroundWithBlock:^(PFObject *object, NSError *error) {
    if (object) {
        // Object Found
        NSLog(@"object found");

        BOOL isVideo = [[object objectForKey:@"isAVideo"]boolValue];
        NSLog(@"is a video: %d", isVideo);

        if (isAVideo == 1) {
            NSLog(@"object is a video");
        }

1 个答案:

答案 0 :(得分:1)

BOOL是基本类型,因此请删除星号。

BOOL isAVideo = [[feedItem objectForKey:@"isAVideo"]boolValue];

要在if语句中进行检查,请使用以下任何内容:

    if (isAVideo != NO) {
      //true
    }
    if (isAVideo == YES) {
      //true
    }
    if (isAVideo) {
      //true
    }

    if (isAVideo == NO) {
      //false
    }
    if (!isAVideo) {
      //false
    }