分类 iOS 下的文章

xcode 头文件引用

头文件引用 头文件引用主要由#inlude 和#import 两种。每种又分为尖括号(<>)引用和双引号(” “)引用 。 #inlude 与 #import 的区别是: #import 不会造成重复引用,它会自己检查是否已经引用过,也可以防止递归包含。 尖括号(<>)引用与双引号(” “)引用的区别是: 双引号(” “)引用的文件,编译器会首先在存储源文件的同一目录下搜索,如果文件没有找到编译器会搜索默认目录(配置文件中配置的头文件引用目录)。 尖括号(<>)引用 只会在默认目录下搜索。 换句话说 双引号引入的方式其搜索......


xcode文档注释规则简要汇总

xcode文档注释规则简要汇总 参考源 类与协议 /** 文档B. * * 文档B的详细描述. */ @interface DocB : NSObject /// 文档A. @interface DocA : NSObject 文本链接 /** * - [文档B](DocB) : 类的链接文本.(仅appledoc) */ 单行注释 ///# 标题1 ///## 标题2 ///hello oc,下面的空行是为了换行 /// ///hello swift /// - 这里使用了无序列表 /// - 使用加粗 **this**, 使用斜体 _this_ /// - 添加一个链接: [百度](http://www.baidu.com) /// - 添加一个图片:![swift picture](http://img0.imgtn.bdimg.com/it/u=14209024,8......


appledoc使用说明

appledoc使用说明 安装命令行: git clone git://github.com/tomaz/appledoc.git cd ./appledoc sudo sh install-appledoc.sh appledoc —version //检查successed 使用 生成HTML 当需要html文档时,可以加上“–no-create-docset”—— appledoc --no-create-docset --output ~/doc --project-name "DrowRect" --company-id "com.jinyuyoulong" --project-company "jinyuyoulong" ./ 注: –output ./doc:设置输出目录为“./doc”。 –project-name objcdoc:设置项目名为“DrowRect”。 –project-company “......


indexPath.item vs indexPath.row

Inside NSIndexPath, the indexes are stored in a simple c array called “_indexes” defined as NSUInteger* and the length of the array is stored in “_length” defined as NSUInteger. The accessor “section” is an alias to “_indexes[0]” and both “item” and “row” are aliases to “_indexes[1]”. Thus the two are functionally identical. In terms of programming style – and perhaps the definition chain – you would be bet......


swift中weak和unowned的区别

weak和unowned都是解决循环引用的关键字 区别: 如果您是一直写 Objective-C 过来的,那么从表面的行为上来说 unowned 更像以前的 unsafe_unretained,而 weak 就是以前的 weak。 用通俗的话说,就是 unowned 设置以后即使它原来引用的内容已经被释放了,它仍然会保持对被已经释放了的对象的一个 “无效的” 引用,它不能是 Optional 值,也不会被指向 nil。如果你尝试调用这个引用的方法或者访问成员属性的话,程序就会崩溃。 而 weak 则友好一些,在引用的内容被释放后,标记为 weak 的成员将会自动地变成 nil (因此被......


swift 关键字篇

@noescape:no escape(没有逃脱) 用来修饰闭包,含义为非逃逸闭包。 当闭包作为参数传递进函数时,如果这个闭包只在函数中被使用,则开发者可以将这个闭包声明成非逃逸的,即告诉系统当此函数结束后,这个闭包的生命周期也将结束,这样做的好处是可以提高代码性能,将闭包声明成非逃逸的类型使用@noescape关键字。 (1) 默认,swift 3.0 弃用,函数结束后,这个闭包的生命周期也将结束。 (2) 在其内部如果需要使用self这个关键字,self可以被省略。 @escaping 逃逸闭包 逃逸的闭包常用于异步的操作,这类函数会在异步操作开始之后立......



objective-c代码规范

Objective-C代码规范 前言 Apple公司提供了一些代码规范文档。如果有内容未在此文档中提及,请参考如下内容: The Objective-C Programming Language Cocoa Fundamentals Guide Coding Guidelines for Cocoa iOS App Programming Guide 适用范围 所有适用Objective-C语言开发的项目。 在这里我们希望以类似断言的方式,大家逐条对比写出的代码和下列规范是否吻合,以达到预期的代码的可读性。 代码规范 命名 基于iOS objective-c项目对于命名,目前分为变量名和函数名两类 变量名 在这里我们把描述一个事物或者抽象事物的描述符统......


struct 和class的区别

struct是值类型,值类型在传递和赋值时将进行复制。 class是引用类型,引用类型只会使用引用对象的一个『指向』 class有这几个功能struct没有的: class可以继承,这样子类可以使用父类的特性和方法 类型转换可以在runtime的时候检查和解释一个实例的类型 可以用deinit来释放资源 一个类可以被多次引用 struct也有这样几个优势: 结构较小,适用于复制操作,相比于一个class的实例被多次引用更加安全 无须担心内存memory leak或者多线程冲突问题 顺便提一下,array在swift中是用struct实现的。Apple重写过一次array,然后复......


函数式编程

避免使用程序状态和可变对象,是降低程序复杂度的有效方式之一,而这也正是函数式编程的精髓。 函数式编程强调执行的结果,而非执行的过程。 我们先构建一系列简单却具有一定功能的小函数,然后再将这些函数进行组装以实现完整的逻辑和复杂的运算,这是函数式编程的基本思想。


© 2016 范子-金玉游龙 . 由 WordPress 强力驱动 | Theme By Jimmy & PCDotFan