上一页 1 ··· 7 8 9 10 11 12 13 下一页
摘要: #pragma mark 下载- (void)download:(id)sender { dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); // 异步执行下载任务 dispatch_async(queue, ^{ NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://localhost:8080/Server/images/image01.jpg"]]; 阅读全文
posted @ 2013-05-08 11:48 wangzhenxiang 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 1.队列的2大类型1> 并发队列:可以同时执行多个任务 * 获取并发队列 并发队列都是全局的:dispatch_get_global_queue(0, 0),不需要管理内存2> 串行队列:同一时间内,只能执行一个任务 * 获取串行队列 (1) 跟主线程相关联的队列 dispatch_get_main_queue(),不需要管理内存 (2) 手动创建队列,dispatch_queue_create("cn.com.queue", NULL),手动管理内存 dispatch_release(queue)2.队列中任务的执行顺序:先进先出3.开启任务1> 开启同 阅读全文
posted @ 2013-05-08 11:38 wangzhenxiang 阅读(384) 评论(0) 推荐(0) 编辑
摘要: 1.ARC是编译特性,不是运行时特性,只是在编译的时候,编译器会自动加上释放代码2.不能调用release、retain、autorelease、retainCount3.dealloc注意 1> 不能在dealloc中调用[super dealloc] 2> 不能在dealloc中释放资源4 @property参数说明 1> retain 改为 strong 2> 基本数据类型(int\float)还是用assign 3> copy 还是 copy 4> 如果2个对象循环引用,一端用strong,一端用weak 5> weak是用在对象上,weak其 阅读全文
posted @ 2013-05-08 11:20 wangzhenxiang 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 1、堆和栈什么区别?答:管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来说,释放工作由程序员控制,容易产生memory leak。2、数组和链表什么区别?答:数组是将元素在内存中连续存放,由于每个元素占用内存相同,可以通过下标迅速访问数组中任何元素。 链表恰好相反,链表中的元素在内存中不是顺序存储的,而是通过存在元素中的指针联系到一起。3、delegate和notification什么区别,什么情况使用?答:Delegate: 消息的发送者(sender)告知接收者(receiver)某个事件将要发生,delegate同意然然后发送者响应事件, delegate机制使得接收 阅读全文
posted @ 2013-05-01 17:40 wangzhenxiang 阅读(389) 评论(1) 推荐(0) 编辑
摘要: #pragma mark 简单添加一个操作到队列中- (void)exeOperation { NSBlockOperation *operation = [NSBlockOperation blockOperationWithBlock:^{ NSLog(@"执行了一个操作:%@", [NSThread currentThread]); }]; NSOperationQueue *queue = [[[NSOperationQueue alloc] init] autorelease]; // 一个NSOperation被添加到队列中会马上执行操作(异步执行) [queu 阅读全文
posted @ 2013-05-01 17:11 wangzhenxiang 阅读(426) 评论(0) 推荐(0) 编辑
摘要: #pragma mark 创建新线程3- (void)createThread3 { // 隐式创建一个新线程执行self的run:方法 // 创建完毕后马上启动线程 [self performSelectorInBackground:@selector(run:) withObject:@"mj"];}#pragma mark 创建新线程2- (void)createThread2 { // 隐式创建一个新线程执行self的run:方法 // 创建完毕后马上启动线程 [NSThread detachNewThreadSelector:@selector(run:) toT 阅读全文
posted @ 2013-05-01 16:19 wangzhenxiang 阅读(141) 评论(0) 推荐(0) 编辑
摘要: #pragma mark 加载远程的HTML页面- (void)loadRemoteHTML { NSURL *url = [NSURL URLWithString:@"http://localhost:8080/MJServer/"]; self.webView.delegate = self; [self.webView loadRequest:[NSURLRequest requestWithURL:url]];}#pragma mark 加载其他文件- (void)loadRemoteTxt { NSURL *url = [NSURL URLWithString:@ 阅读全文
posted @ 2013-05-01 10:21 wangzhenxiang 阅读(217) 评论(0) 推荐(0) 编辑
摘要: - (void)download { self.data = [NSMutableData data]; NSURL *url = [NSURL URLWithString:@"http://192.168.1.106:8080/MJServer/movie.avi"]; NSURLRequest *reuqest = [NSURLRequest requestWithURL:url]; [[NSURLConnection connectionWithRequest:reuqest delegate:self] start];}#pragma mark - 代理方法- (v 阅读全文
posted @ 2013-05-01 10:01 wangzhenxiang 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 同步和异步都是表态方法:#pragma mark 异步请求- (void)post2 { NSURL *url = [NSURL fileURLWithPath:@"/Users/apple/Desktop/备课.txt"]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; // 这个操作队列是用来执行Block的 NSOperationQueue *queue = [[[NSOperationQueue alloc] init] autorelease]; [NSURLConnection sendAs 阅读全文
posted @ 2013-05-01 09:41 wangzhenxiang 阅读(192) 评论(0) 推荐(0) 编辑
摘要: #pragma mark 文件上传- (void)upload { NSURL *url = [NSURL URLWithString:@"http://192.168.1.106:8080/MJServer/upload"]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; request.HTTPMethod = @"POST"; // 设置请求头信息-数据类型 [request setValue:@"multipart/form-data; 阅读全文
posted @ 2013-05-01 09:40 wangzhenxiang 阅读(178) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 下一页