2015-05-07 2 views
2

Это должно быть просто. Все, что я хочу сделать, это рандомизировать NSArray. Я нашел этот аккуратный маленький плагин, чтобы сделать так, что называется «shuffledArray». https://github.com/bryanluby/NSArray-ShuffleНет видимого @ интерфейса для 'NSMutableArray' объявляет селектор 'shuffledArray'

Итак, я должен закончить прямо сейчас. Я импортировал NSArray + Shuffle.h

#import "NSArray+Shuffle.h" 

Я добавил интерфейс shuffledArray:

@interface TipCollectionViewController() 
{ 
    AJNotificationView *panel; 
    NSString * query; 
    // CLLocationManager * locationManager; 
    NSMutableArray * _entries; 
    // NSArray *shuffledArray; 
    int page; 
    int c_page; 
    NSArray *mostPopular; 
    NSArray *ranDom; 
    NSRange blueRange; 


    //int pageNum; 
    //NSString *phpLink; 
    NSMutableData *responsePlaceData; 
} 
-(NSMutableArray *)shuffledArray; 
@property (nonatomic, weak) IBOutlet CollectionLayout *tipsLayout; 
@property (nonatomic, strong) UIImageView *menuImage; 
//@property SESpringBoard *board2; 
@property (nonatomic, retain) NSMutableArray *itemCounts; 
@end 

... но когда я пытаюсь рандомизации массив:

ranDom = [_entries shuffledArray]; 

Он говорит мне, что нет интерфейса NSMutableArray, называемого shuffledArray.

Любая идея, где я ошибаюсь? Это дает мне головную боль.

ответ

0

Я сделаю почести ...

FIRST от кода, инструкции и GitHub страницы этого парня все не так.

ranDom = [_entries shuffledArray]; 

... никогда не собирался работать.

Поскольку в исходном коде его метод на самом деле:

bjl_shuffledArray 

Итак ...

ranDom = [_entries bjl_shuffledArray]; 

работы.

Вторая проблема была на самом деле моя ошибка.

Я пишу:

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { 

... когда я пишу, чтобы:

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { 

Так решение:

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { 
{ 
    ranDom = [_entries bjl_shuffledArray]; 
    mostPopular = [[_entries reverseObjectEnumerator]allObjects]; 
    if (isChangeData){ 
     NSLog(@"Most Popular"); 
     dataLand = mostPopular; 

    } 
    else if(isChangeData2){ 
     NSLog(@"Random"); 
     dataLand = ranDom; 

    } 
    else{ 
     NSLog(@"All"); 
     dataLand = _entries; 
    } 
    Place *p = [dataLand objectAtIndex:indexPath.item]; 
} 

С «dataLand «Будучи другим NSArray, я придумал.

Теперь это работает! Мне действительно нужно начать немного поспать.

Смежные вопросы