2013-11-20 4 views
-2

index - это NSUInteger как у моего родительского, так и дочернего контроллера. Но когда я пытаюсь передать значение NSUInteger для index, я получаю предупреждение в этой строке: controller.index = index; говорит «несовместимое целое число с преобразованием указателя, присваиваемое NSUInteger от NSUInteger», и говорит мне исправить его с помощью &(index). Но когда я конвертирую его в &(index), я больше не получаю числовое значение от index. Что я делаю не так? (новое для программирования) спасибо!NSUInteger несовместим с NSUInteger?

- (PhotoViewController *)viewControllerAtIndex:(NSUInteger)index storyboard:(UIStoryboard *)storyboard 
{ 
    self.image = [self photoAtIndex:index]; 

    if (self.image == nil) { 
     return nil; 
    } 
    PhotoViewController *controller = [storyboard instantiateViewControllerWithIdentifier:@"PhotoViewController"]; 

    controller.image = self.image; 
    controller.index = index; 

    return controller; 
} 
+0

Отсутствует указатель где-то ... –

+3

(нравственный: вы хотите прочитать сообщение об ошибке ** точное **, и вы хотите, чтобы ** обратите внимание ** при чтении.) –

+2

"..ncompatible * integer * to * pointer * conversion .. " – user2864740

ответ

2

Вы, наверное, объявили о своей index собственности в вашем PhotoViewController классе, как NSUInteger *index вместо просто NSUInteger index. Избавьтесь от звездочки.

+5

Возможно, стоит объяснить, что - несмотря на свое название - NSInteger - это родной тип. –

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