<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Sealyu

    --- 博客已遷移至: http://www.sealyu.com/blog

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      618 隨筆 :: 87 文章 :: 225 評論 :: 0 Trackbacks

    We often need to add social features in our iPhone apps. Adding features like commenting, shouts etc are very common. These type of data are usually shown
    with pagination with buttons like next, previous etc.

    To reduce the overhead of creating this functionality again and again we may encapsulate the common functions in a class. So did I for my applications.

    I have created a class named PaginationAgent. After loading records it calls related methods of its delegate which should implement protocol PaginationAgentDeleagte.

    Additionally two php files are needed. One to return the total number of records and another one is to fetch the page data. They must be named respectively as

    • get_total_number_of_records.php
    • get_records.php

    Lets see an example.

    First, I have created a simple view based project “Pagination” and designed the view as u see:

    Create a similar view using Interface Builder

    1. Added a button to show previous page data

    2. One button to reload the data.

    3. Another to show data on next page.

    4. Added a UITable which will show the result.

    In PaginationViewController.h, imported PaginationAgent.h file and declared:

    1. PaginationAgent* objPagination;  

    Now lets see how to initialize it. In the viewDidLoad method I initialized this like this:

    1. objPagination = [[PaginationAgent alloc] init];  
    2. objPagination.delegate = self;  
    3. objPagination.remoteApiBasePath = @"http://your.server/path/to/folder";  

    remoteApiBasePath must be set to the location where the server side php files are placed.
    No trailing slash.

    PaginationAgentDelegate protocol declares the following functions to be overridden by the Delegate:

    1. /** 
    2. * This method is called when the busystate is changed. 
    3. * You can do something like disable/enable the buttons, grayout etc 
    4. * based on the isBusy value. 
    5. */  
    6. -(void)paginationAgent:(PaginationAgent*)agent updateBusyMode:(BOOL)isBusy;  
    7.   
    8. /** 
    9. * Called when total data count is received if shouldReloadAtFirstPage is set NO. 
    10. */  
    11. -(void)paginationAgent:(PaginationAgent*)agent totalDataCountReceived:(int)dataCount;  
    12.   
    13. /** 
    14. * Called when page data is loaded. You may set your table dataSource here and realod 
    15. * reload the table. 
    16. */  
    17. -(void)paginationAgent:(PaginationAgent*)agent pageDataReceived:(NSArray*)data;  
    18.   
    19. /** 
    20. * Called if server sends malformed data 
    21. */  
    22. -(void)paginationAgent:(PaginationAgent*)agent onPaginationServerError:(NSString*)message;  
    23.   
    24. /** 
    25. * Called if connection failed. It may occur due to poor or no internet connectivity 
    26. */  
    27. -(void)paginationAgent:(PaginationAgent*)agent onPaginationConnectionError:(NSString*)message;  

    The php files must return data in json format and must use the format as used:

    1. 1,'message'=>'Success','data'=>33);  
    2.     echo json_encode($data);  
    3.   
    4. ?>  
    1. ...  
    2. ...  
    3. $data = array('success'=>1,'message'=>'Got data','data'=>$rows);  
    4.   
    5. echo json_encode($data);  

    See the attached project for details. The php files are inside the folder “PHPFILES”.

    Pagination.zip

    posted on 2010-10-08 21:30 seal 閱讀(263) 評論(0)  編輯  收藏 所屬分類: iPhone
    主站蜘蛛池模板: a高清免费毛片久久| 一级黄色免费大片| 欧美日韩国产免费一区二区三区| 亚洲AV乱码久久精品蜜桃| 国产又黄又爽胸又大免费视频 | 亚洲精品国产日韩无码AV永久免费网| 国产乱色精品成人免费视频| 在线观看亚洲网站| 亚洲日本一区二区三区在线不卡| 男人扒开添女人下部免费视频| 亚洲精品tv久久久久| 一级毛片人与动免费观看| 亚洲精品无码永久在线观看你懂的| 国产免费一区二区三区免费视频 | 免费不卡在线观看AV| 亚洲欧洲日产国码二区首页| 9久9久女女免费精品视频在线观看| 亚洲色中文字幕在线播放| 国产做床爱无遮挡免费视频| fc2免费人成为视频| 久久精品国产精品亚洲色婷婷| 6080午夜一级毛片免费看| 国产精品亚洲综合久久| 国产三级电影免费观看| 中文字幕av免费专区| 少妇中文字幕乱码亚洲影视| 毛片a级三毛片免费播放| 色噜噜的亚洲男人的天堂| 国内精品99亚洲免费高清| 50岁老女人的毛片免费观看| 亚洲熟妇久久精品| 国产aⅴ无码专区亚洲av麻豆 | 黄人成a动漫片免费网站| 亚洲精品乱码久久久久久蜜桃不卡| 9277手机在线视频观看免费| 亚洲日韩国产二区无码| 国产成人亚洲综合| 台湾一级毛片永久免费| 一区二区视频免费观看| 亚洲美女自拍视频| 亚洲无码日韩精品第一页|