随笔分类 - App开发 / 开发语言 / Objective-C
Objective-C语言基础语法知识。
摘要:测试代码 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { NSMutableString *m_notiion = [[NSM
阅读全文
摘要:1、分类 1.1 分类的作用 为原有的类增加一个方法,扩展分类的作用,靠扩oc中原有的类和自己创建的类(扩展已有类的功能) 分类是原来的类增加方法 在方法内部可以访问原有类的成员变量(定义在头文件中的) 1.2 操作步骤: 为原有类创建一个分类 在分类中增加新的方法和实现 1.3 注意点: 分类不能
阅读全文
摘要:1、常见文件扩展名 .c C 语言源文件 .cc、.cpp C++ 语言源文件 .m Objective-C 源文件 .mm Objective-C++ 源文件 .h 头文件 .pl Perl 源文件 .o Object(编译后的)文件 .app 可运行的应用程序(相当于 windows 中的 .e
阅读全文
摘要:1、几种定时介绍 1.1 NSTimer 定时器 1.2 CADisplayLink 定时器 2、定时任务 1)performSelector // 1.5 秒后自动调用 self 的 hideHUD 方法 [self performSelector:@selector(hideHUD) withO
阅读全文
摘要:# 1、JSON 数据 - JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它基于 ECMAScript 的一个子集。 - JSON 采用完全独立于语言的文本格式,但是也使用了类似于 C 语言家族的习惯(包括 C、C++、 C#、Java、JavaScri
阅读全文
摘要:术语表 本附录包含了很多会用到的非正式定义术语。有些术语与Obective-C语言有关,其他术语则有自己的语源,来自面向对象程序设计的规范。在后一种情况中,术语的含义只有明确应用于Obective-C,才提供此类定义。 01 抽象类 为了更方便地创建子类而定义的类。实例是从子类创建的,而不是抽象类。
阅读全文
摘要:1、KVO 简介 KVO,是一个非正式协议,提供了一个途径,使对象(观察者)能够观察其他对象(被观察者)的属性, 当被观察者的属性发生变化时,观察者就会被告知该变化。 1.1 基本方法 添加观察者: - (void)addObserver:(NSObject *)observer forKeyPat
阅读全文
摘要:什么时候回调用dealloc? 1、这个类被release的时候会被调用; 2、这个对象的retain count为0的时候会被调用; 3、或者说一个对象或者类被置为nil的时候;
阅读全文
摘要:1、C转OC字符串 const char *cString = "This is a C string"; // 动态方法 NSString *ocString1 = [[NSString alloc] initWithUTF8String:cString]; NSString *ocString2
阅读全文
摘要:1、宏定义说明 宏定义是比较常用的预处理指令,即使用“标识符”来表示“替换列表”中的内容。标识符称为宏名,在预处理过程中,预处理器会把源程序中所有宏名,替换成宏定义中替换列表中的内容。 常见的宏定义有两种,不带参数的宏定义和带参数的宏定义。 2、无参宏定义 无参数宏定义的格式为: #define 标
阅读全文
摘要:1、nonnull 字面意思就能知道:不能为空(用来修饰属性,或者方法的参数,方法的返回值) //三种使用方式都可以 @property (nonatomic, copy, nonnull) NSString *name; @property (nonatomic, copy) NSString *
阅读全文
摘要:1、@try 语句 @try { // 可能会抛出异常的代码块 } @catch (NSException *exception) { // 处理 @try 块抛出的异常 NSLog(@"%@, %@", [exception name], [exception reason]); } @final
阅读全文
摘要:前言 枚举跟结构体很像啊. iOS 5.0 之后,提供了新的枚举定义方式,定义枚举的同时,可以指定枚举中数据的类型。 typedef NS_OPTIONS(_type, _name) new; -> 位移的,可以使用 按位或 设置数值 typedef NS_ENUM(_type, _name) ne
阅读全文
摘要:1、运行时 运行时是苹果提供的纯 C 语言的开发库,是一种非常牛逼、开发中经常用到的底层技术。 1.1 运行时原理 Objective-C 是一门简单的语言,95% 是 C,只是在语言层面上加了些关键字和语法,真正让 Objective-C 如此强大的是它的运行时。它很小但却很强大,它的核心是消息分
阅读全文
摘要:1、Category 1)分类/类别(category): 允许以模块的方式向现有类定义添加新的方法(默认不能添加实例变量)。用以扩展自己或他人以前实现的类,使它适合自己的需要。 分类的名称括在类名之后的一对圆括号 "( )" 中。 @interface CHStudent (Print) @end
阅读全文
摘要:前言 copy:需要先实现 NSCopying 协议,创建的是不可变副本。 mutableCopy:需要实现 NSMutableCopying 协议,创建的是可变副本。 浅拷贝:指针拷贝,源对象和副本指向的是同一个对象。对象的引用计数器 +1,其实相当于做了一次 retain 操作。 深拷贝:内容拷
阅读全文
摘要:# 前言 - iOS4.0开始,Block横空出世,自他出生开始,就深受Apple和开发者的喜爱.他其实就是c预言的补充,书面点说就是带有自动变量的匿名函数. - 其实很多初级开发者也很喜欢使用Block,第一呢感觉他很简洁,代码的可读性也高,第二确实无形中提升了代码的逼格, - Block 是一段
阅读全文
摘要:前言 对于一个单例类,无论初始化单例对象多少次,在程序的整个生命周期内,只会创建一个类的实例对象,而且只要程序不被杀死,该实例对象就不会被释放,并且该对象是全局的,能够被整个系统访问到。 在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们
阅读全文
摘要:1、结构体的定义与调用 // 定义结构体类型 // 结构体类型名为 MyDate1 struct MyDate1 { int year; int month; int day; }; // 定义结构体类型变量 // 结构体类型变量为 d1,并赋值 struct MyDate1 d1 = {2016,
阅读全文
摘要:1、注释规范 良好的编码规范是程序员必备的素质,编码中的代码注释尤为重要,健全的代码注释可以提高代码可读性和维护性, 不仅为了标识此块代码的含义,很多时候包含了对业务逻辑的解释,项目中难免有逻辑复杂之处,不加注释的代码, 数日后自己看都会觉得陌生,更不要说其他人看了,今天分享一下Objective-
阅读全文