iOS中的堆(heap)和栈(stack)的理解

操作系统iOS 中应用程序使用的计算机内存不是统一分配空间,运行代码使用的空间在三个不同的内存区域,分成三个段:“text segment “,“stack segment ”,“heap segment ”。 段“text segment ”是应用程序运行时应用程序代码存在的内存段。每一个指令...

2015-04-23 15:06:10

阅读数 599

评论数 0

Blocks一些特性介绍

//Block特性介绍 #import // //#include //#include //using namespace std; //template //void BlockTest(T pBlock) //{ //    pBlock(); //    co...

2015-04-12 21:46:51

阅读数 882

评论数 0

__block 与 __weak的区别理解

Blocks理解: Blocks可以访问局部变量,但是不能修改 如果修改局部变量,需要加__block __block int multiplier = 7; int (^myBlock)(int) = ^(int num) { multiplier ++;//这样...

2015-04-12 13:39:26

阅读数 63036

评论数 3

UI 界面的编写工作,到底应该用 xib/storyboard 完成,还是用手写代码来完成?

使用 xib 和 storyboard 的优点 开发界面所见即所得,可以快速通过拖拽构造界面。 你可以从 storyboard 中很方便地梳理出所有View Controller的界面间的调用关系。这一点对于新加入项目组的开发同事来说,比较友好。 使用 Story...

2015-04-12 03:20:37

阅读数 1194

评论数 0

构筑基于物联网操作系统的物联网生态环境

物联网操作系统 最近跟物联网行业和移动互联网行业的一些资深从业人员做了深入交流,就物联网操作系统的概念和必要性、定位等进行了充分深入的沟通。首先说明的是,物联网操作系统的概念被广泛认同。同时,对物联网操作系统在整个物联网领域的功能和地位,又有了更进一步的认识。下面简单总结,供业界的朋友们参考...

2015-04-12 02:00:44

阅读数 619

评论数 0

LLDB 调试器中的解析

你是否曾经苦恼于理解你的代码,而去尝试打印一个变量的值? NSLog(@"%@", whatIsInsideThisThing); 或者跳过一个函数调用来简化程序的行为? NSNumber *n = @7; // 实际应该调用这个函数:Foo(); 或者短路...

2015-04-10 21:24:37

阅读数 478

评论数 0

Carthage 去中心化的Cocoa依赖管理器

返回首页 Carthage:去中心化的Cocoa依赖管理器 2014年12月04日 译者注:Cocoa的依赖管理器,我们已经有了CocoaPods,非常好用,那么为什么还要创建这样一个项目呢?本文翻译自Carthage的Github的README.md,带...

2015-04-09 21:03:46

阅读数 954

评论数 0

利用 CocoaLumberjack 搭建自己的 Log 系统

一直需要一个 Log 系统,可以将程序运行过程中打的 log 发送到自己服务器,方便之后数据分析或者除错。之前也尝试过找一些第三方服务,但看来看去,国内貌似没看到专门做这一块的,而国外看了下有 Loggly,似乎满足需求,但它要收费且日志保存时间太短。后来无意间看了下 Loggly 提供的 S...

2015-04-09 14:46:09

阅读数 1146

评论数 0

Xcode 6.2 插件失效的临时解决方案

对还没有支持Xcode 6.2的插件有效,Alcatraz 的新版已经支持。 进入到插件目录 ~/Library/Application Support/Developer/Shared/Xcode/Plugins显示插件的包内容编辑Info.plist文件展开DVTPlugInCompat...

2015-04-07 09:57:06

阅读数 570

评论数 0

ios 简单的plist文件读写操作(Document和NSUserDefaults)

//    [self getDocoumentsPath];//苹果建议将程序创建产生的文件以及应用浏览产生的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目录 //    [self getLibraryPath];//存储程序的系统默认状态设置 //    [self ge...

2015-04-07 09:49:40

阅读数 1676

评论数 0

NSUserDefaults详细解释

NSUserDefaults是一个 它的方便之处在于不用申明太多的变量来存储不同的数据,一个NSUserDefaults就搞定了。 它是应用程序域的,能让我们进行更加方便的使用!使用真心的方便啊! NSUserDefaults是什么呢? NSUser...

2015-04-03 13:52:58

阅读数 2901

评论数 0

xcode info.plist讲解

我们建立一个工程后,会在Supporting files下面看到一个"工程名-Info.plist"的文件,这个是对工程做一些运行期配置的文件,很重要,不能删除。 如果你在网上下载的工程中的这个文件名只是Info.plist,那么恭喜你,这个工程太老了,是用包含SDK2....

2015-04-02 22:54:14

阅读数 3564

评论数 0

LLDB调试命令初探

如果你在平时的开发中从未使用过调试器,那你恐怕不知道一个调试器的作用有多大。你可能只满足于通过printf或者NSLog输出信息用于调试。但你只要试着尝试在调试中开始使用调试器LLDB,你会马上感受到调试器给你带来的便利。 LLDB是LLVM下的调试器。Xcode从4.0开始编译器开始改用LLV...

2015-04-02 15:03:54

阅读数 640

评论数 0

GDB常用命令大全 GDB 命令详细解释

GDB常用命令大全 GDB 命令详细解释 一、查看GDB命令帮助 两次按下tab键 然后console 控制台输入 help 二、 GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。如果你是在UNIX平台下做软件,你会发现GDB这...

2015-04-02 14:46:25

阅读数 919

评论数 0

深入Objective-C的动态特性

Objective-C具有相当多的动态特性,基本的,也是经常被提到和用到的有动态类型(Dynamic typing),动态绑定(Dynamic binding)和动态加载(Dynamic loading)。 这些动态特性都是在Cocoa程序开发时非常常用的语言特性,而在这之后,OC在底层也提...

2015-04-02 11:23:53

阅读数 400

评论数 0

提示
确定要删除当前文章?
取消 删除