iOS基础
文章平均质量分 81
修炼内功
HiccupTang
iOS developer
展开
-
iOS基础 - Block变量截获(总结)
一、局部变量截获是 “值截获” NSInteger number = 30; NSInteger(^block)(NSInteger) = ^NSInteger(NSInteger n){ return n + number; }; num = 5; NSLog(@"%zd", block(10));这里输出结果是 40,而不是 15,原因是对局部变量 number 的截获是 “值截获”。在 bl原创 2021-01-28 14:40:33 · 1094 阅读 · 6 评论 -
iOS基础 - 摄像头/相册获取图片、压缩并上传服务器
iphone中图像通常存储在4个地方【相册、应用程序包、沙盒、Internet】,通过这4个源,我们就可以存取应用图片。原创 2021-01-25 10:36:19 · 297 阅读 · 1 评论 -
iOS基础 - NSString操作总结
Objective-C里核心的处理字符串的类就是NSString和NSMutableString这两个类,这两个类完成了Objective-C中字符串大部分功能的处理NSString字符串属性 //////////字符串属性////////// NSString *str1 = @"string"; NSLog(@"长度: %ld", str1.length); NSLog(@"描述: .原创 2021-01-25 10:11:13 · 916 阅读 · 1 评论 -
iOS基础 - 关键字const/static/extern
一、前言阅读别人的代码(一些优秀的源码)总能发现一些常见的关键字,随着编程经验的积累大部分还是知道是什么意思的,但在概念上和具体的用法上却依然有些模糊,故特意整理汇总了下三个比较常见的关键字——const/static/extern。二、关键字const/static/extern的释义和用法** 1、const**这个单词翻译成中文是“常量”的意思。在程序中我们知道“常量”的值是不能变的,固定的。所以const关键字的作用就呼之欲出了:(1)const用来修饰右边的基本变量或指针变量原创 2021-01-23 16:59:33 · 100 阅读 · 1 评论 -
iOS基础 - 为什么使用instancetype而不是id
前言使用instancetype到底比id好在哪里?instancetype宣言不管何时,只要一个class要返回它相同的类实例,使用instancetype都是更加合适的。我们知道,当调用类中(或者子类)的-alloc、-init或者class factory(+)方法,使用instancetype关键字会返回它的类实例。在这种情况下用instancetype而不是id有100个好处。苹果也这样说:In your code, replace occurrences of id a原创 2021-01-23 16:20:51 · 150 阅读 · 1 评论 -
iOS基础 - GCD多线程同步机制
GCD多线程同步机制原创 2017-09-14 14:50:21 · 316 阅读 · 4 评论 -
iOS基础 - 深浅拷贝
Copy的作用在OC中,copy 是利用一个源对象产生一个副本对象,本质就是当修改源对象的属性和行为,不会影响副本对象,同样,当修改副本对象的属性和行为,不会影响源对象。Copy 的使用注意: 使用之前必须要遵守 NSCopying 协议,实现 copyWithZone: 方法其中有两点需要注意:1、Foundation类已经遵守了<NSCopying>和 <NSMutableCopying>协议,即实现了copy和mutableCopy方法,因此Foundation原创 2017-05-16 11:47:29 · 321 阅读 · 1 评论 -
iOS 图片与内存(转)
http://blog.csdn.net/ch_soft/article/details/8245944第一种解决方法:选择适当的加载方式在程序的开发过程中,经常会用到很多的图片,适当的选择加载图片的方式就显得格外的重要,如果选择不得当,很容易造成内存吃紧而引起程序的崩溃。这里介绍一下几种常见的加载方式:用UIImage加载图像的方法很多,最常用的是转载 2015-08-04 11:32:37 · 312 阅读 · 0 评论 -
iOS基础之 - 堆与栈
1、管理方式对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来说,释放工作由程序员控制,容易产生memory leak。2、申请大小(1)栈:在Windows下,栈是向低地址扩展的数据结构,是一块连续的内存的区域。这句话的意思是栈顶的地址和栈的最大容量是系统预先规定好的,在WINDOWS下,栈的大小是2M(也有的说是1M,总之是一个编译时就确定的常数),如果申请的空间超过栈原创 2017-05-17 11:09:29 · 238 阅读 · 1 评论 -
iOS基础 - Objective-C编码规范
语言应该使用US英语。应该:UIColor *myColor = [UIColor whiteColor]; 不应该:UIColor *myColour = [UIColor whiteColor]; 代码组织在函数分组和protocol/delegate实现中使用#pragma mark -来分类方法,要遵循以下一般结构:#pragma mark - Lifecycle - (instancetype)init {} - (void)dealloc {原创 2021-01-23 11:57:44 · 127 阅读 · 1 评论