2013-06-15 4 views
0

Mettre fin application en raison d'une exception non interceptée « NSInvalidArgumentException », raison: [LeavesCache setDataSource:]: sélecteur non reconnu envoyé à l'instance 0x7db1f30App tombe en panne et signal d'erreur reçoit programme SIGABRT

Ajouté Exception point d'arrêt et a constaté que problème sur cette ligne

pageCache = [[LeavesCache alloc] initWithPageSize:self.bounds.size]; 

- (void) initialize { 
backgroundRendering = NO; 
pageCache = [[LeavesCache alloc] initWithPageSize:self.bounds.size]; 
    } 



- (id) initWithPageSize:(CGSize)aPageSize 
{ 
if (self = [super init]) { 
    pageSize = aPageSize; 
    pageCache = [[NSMutableDictionary alloc] init]; 
} 
return self; 
} 


- (void) setDataSource:(id<LeavesViewDataSource>)value { 
pageCache.dataSource = value; 
} 

ne sais pas comment résoudre ce problème si quelqu'un peut me aider dans ce

+0

Assurez-vous que vous avez implémenté le protocole LeavesViewDataSource? –

+0

Le protocole LeavesViewDataSource est déjà présent dans les fichiers LeavesView et Leaves Cache – user1120133

Répondre

0

Je suppose que vous utilisez [cette bibliothèque] [1], mais il ne correspond pas à ce que vous avez posté. Parce que la bibliothèque LeavesCache sur GitHub n'a pas de méthode setDataSource dans le code - c'est la propriété déclarée à la place. Avez-vous apporté des modifications à la source? Quelqu'un a, parce que vous semblez mettre la variable d'instance dans une méthode à NSMutableDictionary, et dans un autre à un objet LeavesCache.

Y a-t-il une raison particulière pour laquelle vous utilisez cette bibliothèque? Pour autant que je sache, il n'a pas été mis à jour depuis trois ans, et iOS a pris en charge iBooks comme interface de changement de page depuis iOS 5 nativement, en utilisant la classe UIPageViewController.

+0

Vous avez raison La méthode setSource est dans LeavesView et non dans LeavesCache. Je n'ai fait aucun changement au code. Je l'utilise tel quel. La seule différence est que dans mon cas il n'y a pas de controleur de navigation. Mais cela ne devrait pas faire de différence si je ne me trompe pas. – user1120133

+0

Utilisation de l'arc si cela fait une différence dans la mise en cache des feuilles – user1120133

Questions connexes