- 博客(13)
- 收藏
- 关注
原创 用dispatch_once实现单例模式
我在iOS 面试中单例模式的设计里写过有关于单例模式的设计,但是我发现有一种方法能够更快实现单例模式,而且更安全,速度更快,那就是使用dispatch_once代码块来执行单例模式。+ (LDPSingleton *)shardSingleton { static LDPSingleton *singleton = nil; static dispatch_once_t onceTo
2016-08-10 18:56:34
357
原创 iOS&OS X强大的内存管理总结
每一个iOS开发者,都需要理解引用计数这种内存管理方式,只有这样,才能处理好内存管理的问题。1.内存管理/引用计数1.1引用计数:当生成对象的时候,对象的引用计数是1,当有一个新的指针指向这个对象的时候,引用计数+1.当这个指针不指向这个对象的时候,引用计数-1,如此,当引用计数为0时,销毁这个对象。引用计数的这种管理方式类似于Linux文件系统的硬链接,在Linux文件系统中,我们用**ln**命
2016-08-09 17:48:48
963
原创 iOS单元测试断言汇总
XCTFail(…)任何尝试都会测试失败,…是输出的提示文字。XCTAssertNil(expression, …) expression为空时通过,否则测试失败。 expression接受id类型的参数。XCTAssertNotNil(expression, …) expression不为空时通过,否则测试失败。 expression接受id类型的参数。XCTAssert(expressi
2016-07-10 17:38:26
708
原创 应用沙盒分析
每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离。应用必须待在自己的沙盒里,其他应用不能访问该沙盒 如下: 结构分析:Documents:保存应用运行时生成的需要持久化的数据,iTunes同步设备时会备份该目录。例如,游戏应用可将游戏存档保存在该目录tmp:保存应用运行时所需的临时数据,使用完毕后再将相应的文件从该目录删除。应用没有运行时,系统也可能会清除该目录下
2016-05-29 22:47:38
483
原创 iOS项目中Info.plist文件是干什么的?
每次创建项目时,在项目里都会有一个Info.plist文件,这个文件中的很多参数都是干什么的?① Localization native development region这个是与本地化相关的设置,是语言版本设置,默认为en,可以设置为china.② Bundle name这个是程序安装之后,显示在iPhone/iPad上的名字③ Bundle version项目版本号,对内公布,不对外公布。④
2016-05-23 22:59:06
2793
原创 面试题:程序启动原理
首先执行Main函数,UIApplicationMain根据UIApplicationMain函数里面的参数创建一个UIApplication对象,并设置UIApplication对象里的代理,这个代理一定要遵守UIApplicationDelegate协议开启一个主运行循环 (事件循环)调用代理的方法,eg:程序启动完成、获取焦点等。。。
2016-05-23 22:45:38
275
转载 Undefined symbols for architecture i386:和"_OBJC_CLASS_$_xx", referenced from:问题解决方法
多个人共同操作同一个项目或拷贝项目时,经常会出现类似这样的问题: Undefined symbols for architecture i386: “OBJC_CLASS$_xx文件名”, referenced from:下面是可能导致这类问题出现的原因及修改:1.相关工程文件未导入你可以直接在这里+进来,也可以在左边工程目录中把文件全部重新导人一遍(多人操作工程时,一般这种解决办法)2..fr
2016-04-26 17:15:46
332
原创 iOS 面试中单例模式的设计
看过很多大公司的面试,常被要求设计一个单例,所以查了一些网上文档和一些书籍,现在整理一下分享给大家: 在以下情况下,应该考虑使用单例模式: 1.类只能有一个实例,而且必须从一个为人熟知的访问点对其进行访问,比如说工厂方法 2.这个唯一的实例只能通过子类化进行扩展,而且扩展的对象不会破坏客户端代码如何设计一个单例模式的类1.首先必须创建一个全局实例,通常存放在一个全局变量中,此全
2016-04-26 17:03:57
530
原创 iOS 通知机制
1 通知的发布**通知中心(NSNotificationCenter)**每一个应用程序都有一个通知中心实例,专门来负责协助不同对象之间的消息通信任何一个对象都可以向通知中心发布通知,描述自己在做什么,其他感兴趣的对象可以申请在某个特定通知发布时(或者在某个特定的对象发布通知时)收到通知**通
2016-04-24 14:02:48
1810
原创 ios,使用CocoaPods做第三方库的依赖管理
很多语言都有自己的依赖管理工具,比如说Java语言的Maven,ios的依赖管理工具CocoaPods,开发ios项目会不自觉地用到第三方开源库,CocoaPods的出现使得我们可以节省设置和更新第三方开源库的时间1.CocoaPods 的下载必须有ruby环境 Mac下都自带ruby,由于ruby的软件源rubygems.org 是使用的亚马逊的云服务,所以被屏蔽啦,大陆的服务你懂得
2016-04-20 09:07:33
2124
原创 iOS UITableView的用法
什么是UITableView1.它是继承自UIScrollView的,所以它支持滚动,但是只支持垂直滚动2.它有两种样式,就是分组(UITableViewStylePlain)不分组(UITableViewStyleGrouped)3.通过设置UITableView的数据源(DataSource)来显示数据在代码中或在视图上设置好数据源后,就要实现数据源的方法#
2016-04-09 15:33:34
327
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人