原创 線程鎖,生產者與消費者

@interface ViewController () {     //NSLock * lock;     NSCondition * condition; } //媒介,緩衝池 @property (nonatomic,

原创 DOM解析(GDataXMLNode)詳解,xml解析

//(動態庫環境的配置) //1、獲取GDataXMLNode.h/m文件,將GDataXMLNode.h/m文件添加到工程中 //2、向工程中增加

原创 get請求的block方法

    //  get請求     NSURL * url = [NSURL URLWithString:@"http://192.168.2.119/test2.zip"];     NSURLRequest * requset =

原创 json解析NSJSONSerialization方法

//    //1、json轉換成對象 //    NSString * path = [[NSBundle mainBundle] pathForResource:@"test.json" ofType:nil]; //    N

原创 ASI框架使用全集講解

#import "ViewController.h" #import "ASIHTTPRequest.h" #import "ASIFormDataRequest.h" #import "DACircularProgressView.h

原创 GCD的常用方法總結

//    GCD常用方法     //————————————————————————————————————————————————————————————————————————————————     //串行隊列    

原创 iOS開發系列--並行開發其實很容易 --多線程開發

iOS開發系列--並行開發其實很容易 --多線程開發 概覽 大家都知道,在開發過程中應該儘可能減少用戶等待時間,讓程序儘可能快的完成運算。可是無論是哪種語言開發的程序最終往往轉換成彙編語言進而解釋成機器碼來執行。但是機器碼是按順序

原创 自定義瀑布流

#define kWidth self.frame.size.width #define kHeight self.frame.size.height @interface JRScrollView() @propert

原创 GCD刷新UI

//    刷新UI     //———————————————————————————————————————————————————————————————————————————————— //    UIImageView

原创 NSCondition模擬買票的過程的簡單實現

@interface ViewController () @property (nonatomic, strong) NSMutableArray * array; @property (nonatomic, strong) NS

原创 NSThread中cancle與exit的使用

@interface ViewController () /** 圖片視圖*/ @property(nonatomic,weak) UIImageView * imageView; /** 圖片數組*/ @proper

原创 網絡get請求

    //———————————————————————————————————————————————————————————————————————————— //    0.文件很小的時候可以不使用請求的方法(壞處1、在主線程

原创 GCD的四種隊列,兩種函數和六種組合

//    四種隊列     //———————————————————————————————————————————————————————————————————————————————— //    //1、主隊列(是串行隊

原创 UIRefreshControl 下拉刷新

- (void)viewDidLoad {     [super viewDidLoad];          //UIRefreshControl

原创 json解析使用第三方類庫JSONKit

//    使用第三方類庫JSONKit //    NSString * path = [[NSBundle mainBundle] pathForResource:@"test.json" ofType:nil]; //