博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS.ObjC.Basic-Knowledge
阅读量:6522 次
发布时间:2019-06-24

本文共 1763 字,大约阅读时间需要 5 分钟。

1. ObjC的基础 

2. ObjC2.0中的编译指令

3. ObjC Runtime

4. ObjC Object Model

5. ObjC的新语法

6. FQA

 

1. ObjC的基础

2. ObjC2.0中的编译指令

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

你可能感兴趣的文章
洛谷.4180.[模板]次小生成树Tree(Kruskal LCA 倍增)
查看>>
TCL函数“参数自动补全” 与 “help 信息显示”
查看>>
POJ1050To the Max
查看>>
汇编基础--标识符、标号、伪指令和指令
查看>>
PowerShell与系统开局(下)
查看>>
运维自动化之使用PHP+MYSQL+SHELL打造私有监控系统(四)
查看>>
Go 四篇
查看>>
游戏数值策划-经验值计算公式设计(自百度文库)
查看>>
Spring JDBC模板惯用方式
查看>>
将公用文件夹从Exchange2010迁移到 Exchange 2013
查看>>
UML用例图概要
查看>>
动态规划算法
查看>>
WebService学习总结(二)——WebService相关概念介绍
查看>>
泥鳅般的const(一个小Demo彻底搞清楚)
查看>>
Pyqt 打开外部链接的几种方法
查看>>
JavaScript DOM编程艺术学习笔记(一)
查看>>
event.srcElement获得引发事件的控件(表单)
查看>>
ASP.NET MVC铵钮Click后下载文件
查看>>
SQL Server 中 EXEC 与 SP_EXECUTESQL 的区别
查看>>
基本数据结构 - 栈和队列
查看>>