2011-09-02 77 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