У меня есть метод, который заполняет ячейку прототипа и два предупреждения бросаются, и я не уверен, что делать.Сравнение логического указателя с целым числом Предупреждение
Сначала я 'преобразование несовместимого целое указателю инициализацией 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");
}
Спасибо! Можно ли сравнить значение isAVideo с '1'/true)? –
Да, но поскольку это BOOL, имеет смысл сравнить его с YES (хотя он имеет то же значение). –
В общем, лучше написать 'x! = NO' вместо' x == YES'. Это связано с тем, что любое значение, отличное от NO (ноль), считается истинным и будет таким, каким вы хотите, в каждом случае. – Avi