1. ObjC的基础

2. ObjC2.0中的编译指令

3. ObjC Runtime

4. ObjC Object Model

5. ObjC的新语法

6. FQA

1. ObjC的基础

2. ObjC2.0中的编译指令

http://www.learn-cocos2d.com/2011/10/complete-list-objectivec-20-compiler-directives/

http://developer.apple.com/library/mac/#releasenotes/Cocoa/RN-ObjectiveC/index.html

3. ObjC Runtime

3.1 class method 中的self 和 instance method中的self不同点在哪?

Within the body of a class method, self refers to the class object itself.

参见: https://developer.apple.com/library/ios/documentation/general/conceptual/DevPedia-CocoaCore/ClassMethod.html

3.2 metaclass

http://www.cocoawithlove.com/2010/01/what-is-meta-class-in-objective-c.html

Class and metaclass:

http://www.sealiesoftware.com/blog/archive/2009/04/14/objc_explain_Classes_and_metaclasses.html

http://resources.infosecinstitute.com/ios-application-security-part-3-understanding-the-objective-c-runtime/

4. ObjC的新语法

4.1 属性只需要声明(使用property指令), 而不需要@synthesize指令,那么会发生什么?

@interface Context : NSObject

@property (nonatomic, strong) NSMutableString *text;

4.2 @import

例如:

@import UIKit

4.X Modern Objective-C: WWDC 2012 Session 405 (TODO)

5. QA

5.1 NSCopying NSMutableCopying

Implement "- (id)copyWithZone:(NSZone *)zone"  for immutalbe object.

ARC:

- (id) copyWithZone:(NSZone *)zone { return self; }

MRC:

-(id) copyWithZone:(NSZone*)zone { return[self retain]; }

- (id)mutableCopyWithZone:(NSZone *)zone

Ref:

A. POP, POPAnimatableProperty类

B. http://stackoverflow.com/questions/9127198/objective-c-immutable-object-copywithzone-arc-compatible-realization

5.2

NS_RETURNS_RETAINED

NS_RETURNS_NOT_RETAINED

CF_RETURNS_RETAINED

CF_RETURNS_NOT_RETAINED

NS_RELEASES_ARGUMENT

CF_RELEASES_ARGUMENT

Ref

A. http://clang-analyzer.llvm.org/annotations.html

B. http://clang.llvm.org/docs/AutomaticReferenceCounting.html#arc-object-operands-retained-return-values

5.3

NSObject的接口

"+ (id)allocWithZone:(struct _NSZone *)zone" 在子类该如何实现呢,该接口在ObjC中是什么作用?

转载于:https://www.cnblogs.com/cwgk/p/3196560.html

iOS.ObjC.Basic-Knowledge相关推荐

  1. obj c和java_PKCS1-padding / RSA加密ios objc和java之间的区别

    我正在为ios和Android开发应用程序.我对加密任务相对来说比较陌生,在过去的3天里,由于无法运行RSA加密,所以我一直在抨击我的头部. 两个客户端都从java服务器接收公钥.在Android中我 ...

  2. 5. SAP S/4 运维基础知识(Basic Knowledge) - SAP S/4 Basis Learning

    本系列基于 SAP S/4 HANA version 1709 - On Premise 前言 本文用于读者快速了解SAP Basis的一些基本概念,不对具体的操作进行详细说明 目录 目录 前言 目录 ...

  3. 刘顺琦 - CSCI 561 midterm 2 basic knowledge

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WPpj6Rfn-1627034161223)(basic%20knowledge.assets/image-202103 ...

  4. 使用Forms Authentication 身份验证 之 Basic Knowledge

    与Forms Authentication相关的配置 在web.config文件中,<system.web>/<authentication>配置节用于对验证进行配置.为< ...

  5. basic knowledge

    Position 属性:规定元素的定位类型.即元素脱离文档流的布局,在页面的任意位置显示. ①absolute :绝对定位:脱离文档流的布局,遗留下来的空间由后面的元素填充.定位的起始位置为最近的父元 ...

  6. Linux学习笔记——1、Basic knowledge

    参考鸟哥的Linux私房菜地址:http://vbird.dic.ksu.edu.tw/linux_basic/linux_basic.php 参考网中人地址:http://www.study-are ...

  7. Android | WIFI Direct -1 Basic knowledge

    WIFI P2P 1 . 名词缩写 2. WIFI 模块几种常见工作模式 3.两种常见频段 4. P2P 中的几种角色 5. P2P 的组网技术 6 . Android 中的P2P 1 . 名词缩写 ...

  8. important basic knowledge of SAS

    getting data into SAS tools 键盘宏 记录键盘操作 定制 options structure data step proc + name + data=dataset nam ...

  9. Ada语言学习(1)Basic Knowledge

    文章目录 说在前头 命名 注释 数字 变量 变量类型 signed integers Enumerations Floating Points 类型重用(继承) 类型转换 运算符 属性(Attribu ...

最新文章

  1. 厦门计算机高级职称,2021年厦门工程师职称属于哪种职称?
  2. python编程培训-课程:尹会生的Python编程培训课程
  3. 数据结构与算法总结——背包问题与组和问题
  4. python pil png合成gif储存时变黑_使用 Python 玩转图片
  5. C#一元运算重载的深入理解
  6. 1.极限——例子_3
  7. 有人说是金山造了熊猫烧香病毒
  8. 九章算术卷第七 盈不足
  9. BXP无盘网络方案及设备选用(转)
  10. Findbugs异常总汇
  11. 谷歌/FOFA搜索引擎使用
  12. APK编辑器v2.4.3强行修改app背景图、去广告、重新架构等
  13. 图像处理工具包实现应用图像效果
  14. C# 读取outlook 本地签名
  15. 人间不正经生活语录(一)
  16. MATLAB求解二元(多元)函数极值
  17. 让海航买不起的当当究竟值多少钱?90亿够不够?
  18. “Elasticsearch + Kibana + ik分词器“介绍与使用
  19. 人生是一个不断觉悟的过程,成功是一种感悟。
  20. R3LIVE代码详解(四)

热门文章

  1. vSwitch报文转发分析
  2. python设计模式2-工厂方法模式
  3. 用户体验很棒的Git学习网站
  4. AD转换中参考电压的作用 .
  5. 在容器里设置GOMAXPROCS的正确姿势
  6. 原生js实现简洁的返回顶部组件
  7. Oculus首席科学家发声,称VR需要能够“欺骗”大脑
  8. 《Effective Objective-C 2.0》 阅读笔记 2
  9. Android ProgressBar手动控制开始和停止
  10. GNS3(eNSP)和VMWare搭建网络学习环境