If()条件未变为True

时间:2016-01-18 07:00:43

标签: ios objective-c

我是IOS的新手我遇到了问题。 我在我的Xib上有3个GMGridViews,我在ViewControllar的.m文件中有引用现在在Delegates和DataSource方法中当我对它进行检查时,如果2 GMViewControllars的条件没有变为真,那么第1个变为true。我尝试isEqual:而不是“==”  这是我的代码

#pragma mark GMGridViewDataSource

- (NSInteger)numberOfItemsInGMGridView:(GMGridView *)gridView
{
    if (gridView==self.artistFollowingGM) {
        return 4;//[self.artistFollowingArray count];
    }else  if (gridView==self.followersGM) {
        return 5;// [self.membersFollowingArray count];
    }else if(gridView==self.repostedGM){
        return 10; //[self.repostedArray count];
    }else{
        return 0;
    }
}

数据源和代表是相同的,那么为什么如果2 GMGrids没有实现?

2 个答案:

答案 0 :(得分:0)

尝试在不同的GridView上设置标记,然后比较标记而不是引用,它可以快速解决您的问题。例如

- (NSInteger)numberOfItemsInGMGridView:(GMGridView *)gridView
{
    if ([gridView tag] == 1) {
        return 4;//[self.artistFollowingArray count];
    }
    else  if ([gridView tag] == 2) {
        return 5;// [self.membersFollowingArray count];
    }
    else if([gridView tag] == 3){
        return 10; //[self.repostedArray count];
    }
    else{
        return 0;
    }
}

答案 1 :(得分:0)

解决了问题。我在datasource设置了delegatesXib,但在写完这一行之后,问题就解决了。

self.followersGM.dataSource = self;
self.followersGM.delegate = self;