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