iOS开发笔记(1)

iOS开发笔记(1)

UIEdgeInsets

UIEdgeInsets,由函数
UIEdgeInsetsMake ( CGFloat top, CGFloat left, CGFloat bottom, CGFloat right );//上,左,下,右
构造出。

项目中用的加载网络图像的方法是:

[self.image  sd_setImageWithURL:[NSURL URLWithString:model.thumb] placeholderImage:[UIImage imageNamed:@"HJZ_UnLoad"]];

但是要import包:

import <UIImageView+WebCache.h>

网络请求函数

在debug过程中,异步网络请求函数是要执行两遍的,于是补了一下关于这方面的知识:

  • 同步网络请求函数

    1
    2
    3
    4
    5
    6
    7
    8
    //获取名叫tongbu 文本框的内容
    NSString *txt=self.tongbu.text;
    //创建url对象
    NSURL *url=[NSURL URLWithString:txt];
    //创建请求对象
    NSURLRequest *req=[NSURLRequest requestWithURL:url];
    //发起同步,赶回数据给data
    NSData *data=[NSURLConnection sendSynchronousRequest:req returningResponse:nil error:nil];
  • 异步网络请求
    在ViewController.m文件上的- (void)viewDidLoad方法里

    1
    2
    3
    4
    5
    6
    7
    8
    NSString *txt2=self.tongbu.text;
    //创建url对象
    NSURL *url2=[NSURL URLWithString:txt2];
    //创建请求对象
    NSURLRequest *req2=[NSURLRequest requestWithURL:url2];
    //发送请求并建立一个代理
    [NSURLConnection connectionWithRequest:req2 delegate:self];
    //因为代理人是自己所以让自己遵守协议

协议在ViewController.h文件里

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@interface ViewController : UIViewController//因为代理对象是对象所以让自己遵守协议
//同时创建一个NSMutableData类型的对象来接从网络上接收的数据,同时创建3个协议方法来进行接收数据
@property(retain,nonatomic)NSMutableData *data;
//协议方法
//1连接接收响应,表示成功建立连接
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{
self.data=[[NSMutableData alloc]init];//创建代理对象,并初始化数据
}
//2连接接收数据
//形参(NSData *)表示接收到的数据
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{
[self.data appendData:data];//向data反复添加数据
}
//3连接成功
-(void)connectionDidFinishLoading:(NSURLConnection *)connection{
NSLog(@"连接成功");
}