2016-01-18 2 views
1

Я новичок в IOS, я столкнулся с проблемой. У меня есть 3 GMGridViews на моем Xib, и я получил ссылку в файле .m-файла моего ViewControllar Теперь в делегатах и ​​методах DataSource, когда я положил Check, если условие не получается true для 2 GMViewControllars, но станет истинным для первого. я стараюсь IsEqual: также вместо «==» Вот мой кодIf() Условие Не получается True

#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; 
    } 
} 

Datasource и делегаты одинаковы для всех, то почему, если не становится правдой в течение 2 GMGrids ??

+1

Правильно ли подключены IBOutlets, а свойства источника данных и делегата установлены для каждого из трех GMGridViews в построителе интерфейса? – ZeMoon

+0

Yup IBOutlets подключен и набор свойств. я проверил его –

+0

Ваш код выглядит нормально; неясно, в чем проблема. Вы рассматривали различные значения, используемые здесь (т. Е. «GridView», «self.artistFollowingGM» и т. Д.?). – trojanfoe

ответ

0

Попробуйте установить тег на различные GridViews, а затем сравнить тег вместо ссылки, он быстро решает проблему. например

- (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; 
    } 
} 
+0

Как это помогает? Вы предполагаете, что сравнение с использованием '==' не будет работать? – trojanfoe

+0

, сравнивая 'reference', его трудно отлаживать, хорошо, если мы выполняем сравнение с использованием значения' tag', это намного проще сделать. – Aamir

+0

Не совсем, они оба просто цифры. – trojanfoe

0

Проблема решена. Я устанавливал datasource и delegates от Xib, но после написания этой проблемы проблема решена сейчас.

self.followersGM.dataSource = self; 
self.followersGM.delegate = self; 
Смежные вопросы