随笔分类 - OC
the second programing language I had used.
摘要:SDWebImage 中有一段源码: 我们用的比较多的 解决循环引用的问题, 在block中 用到对象内部的属性、实例变量的时候要用weakSelf 访问,但是为什么block 内部又用到strongSelf 呢? 大部分情况下,只在block中使用weakSelf 是没有问题的,通常情况下我们只在
阅读全文
摘要:1、用 命令 “ -fno-objc-arc” 将ARC工程中的一个.m文件单独设置为MRC编码编译 步骤:ProjectName -> Target -> Build Phases -> .m -> Complier flags -> 填写命令 "-fno-objc-arc " 2、禁止 Tabl
阅读全文
摘要:iOS 打包不成功的原因: 1、打包时在下图 code signing没有选择发布证书 2、没有配置好pp文件 3、targets-> general 和 setting设置的签名方式不一样,要手动都手动,要自动都自动。我个人倾向于手动,Archieve之后手动上选择发布证书和pp文件签名。 iOS
阅读全文
摘要:1、- (NSArray *)visibleCells; UITableview 的方法,这个最直接,返回一个UITableviewcell的数组。 对于自定义的cell,之后的处理可能会稍微复杂。 2、-(NSArray*)indexPathsForVisibleRows; UITableview
阅读全文
摘要:@interface - (BOOL)isDisplayedInScreen; @end @implementation UIView(UIScreenDisplaying) //判断View是否显示在屏幕上 -(BOOL)isDisplayedInScreen{ if(self == nil){
阅读全文
摘要:dispatch_apply的用法 并行模拟for循环,将指定的代码循环10次,一般会把这些代码附加到一个queue上,然后在 dispatch_apply里并行 dispatch_queue_t queue = dispatch_get_globel_queue(DISPATCH_QUEUE_PR
阅读全文
摘要:1、在一个类的头文件中尽量少引用其他头文件 如果Person.h 引入了EmployeePerson.h,而后续又有其他类如Human.h又引入了Person.h, 那么EmployeePerson.h也会一并被引入到Human.h.如此往复,引入的头文件会越来越多,也会引入一些根本不需要的头文件,
阅读全文
摘要:最基本的 1、元字符: . 匹配除了换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意的空白字符 \d 匹配数字 \b 匹配单词的开始或结束 ^ 匹配字符串的开始 $ 匹配字符串的结束 2、转移字符: \ 反斜杠,用于查找字符中出现的元字符 如要匹配 \ 就要用 \\ 要匹配
阅读全文
摘要:1、分类的定义 category是Objective-C 2.0之后添加的语言特性,中文也有人称之为分类、类别。Category的主要作用是为已经存在的类添加方法。这个大家可能用过很多,如自己给UICoclor添加一个把16进制数转化为rgb颜色的方法。 可以把分类的实现分开放在几个不同的文件里面。
阅读全文
摘要:0、准备 1】$299/year的企业级开发账号。 2】制作分发证书和描述文件,并下载安装到本机。 3】Xcode编译通过,真机测试通过的源码。 1、打包前配置 1】Xcode 打开项目,commond + , 打开偏好设置,登录开发者账号。 2】product -> scheam -> editS
阅读全文
摘要:Dispatch Source是GCD中的一个基本类型,从字面意思可称为调度源,它的作用是当有一些特定的较底层的系统事件发生时,调度源会捕捉到这些事件,然后可以做其他的逻辑处理,调度源有多种类型,分别监听对应类型的系统事件。我们来看看它都有哪些类型: Timer Dispatch Source:定时
阅读全文
摘要:自己做iOS开发,以后慢慢都要转swift,前段时间看到网上的一个帖子,说swift的运行效率奇低,觉得自己有必要验证一下。 我用了一个最简单的加法运算,从0加到10000000,看三种语言的时耗。 swift 2.2: 运行结果: Objective-C 2.0: 运行结果: C++ 11: 运行
阅读全文
摘要:属性: 属性@property和属性attribute不同,@property在OC里有自己的一套专对实例变量的处理机制。attribute我们可以特指属性所具有或遵循的特质。 使用属性,编译器就会自动编写访问这些属性所需的方法,此过程叫做“自动合成”(autosynthesis).自动合成的过程是
阅读全文
摘要:想看看苹果系统的数据存储是大端存储还是小端存储: 首先小端,就是把低位存放在低地址。如0x 12345678,这个32位的十六进制数,从高位到低位依次是 0x 12, 0x 34,0x 56,0x 78;采用小端方式:最低为 0x 78 在最前面,故而内存中从低地址到高地状依次是0x 78,0x 5
阅读全文
摘要:用如下方法定义单例 @interface singleton_interface(ClassName); @end 实现单例在 @implemention singleton_implemention(ClassName); @end 但是 有时编译会出现错误: duplicate symbol _
阅读全文