2011-09-02 73 views
3
static NSInteger *previousPage = 0; 

    CGFloat pageWidth = scrollView.frame.size.width; 

    float fractionalPage = scrollView.contentOffset.x/pageWidth; 

    NSInteger page = lround(fractionalPage); 
    if(previousPage != page){ //page has changed 

     previousPage = page; 
    } 

我得到的错误那么PreviousPage之间的比较!=页面条件我越来越指针和整数

而且,那么PreviousPage =页面是给我“水火不容整数指针转换... “

+2

为什么previousPage是一个指针? – thumbmunkeys

+0

为什么你创建一个NSInteger指针而不是一个NSInteger变量? – 2011-09-02 18:38:44

回答

8

你必须声明

static NSInteger *previousPage = 0; 

在你的代码,其中宣布previousPage是一个指向一个整数(不是整数),同时初始化它指向null指针(不是值0零)。

if(previousPage != page){ //page has changed 

    previousPage = page; 
} 

你的previousPage指针值比较的page整数值,因此误差。在previousPage的声明中简单地删除*

static NSInteger previousPage = 0; 
+0

我从另一个帖子得到这个片段!谢谢。 – Adam