OC的理解与特性 OC作为一门面向对象的语言,自然具有面向对象的语言特性:封装.继承.多态.它既具有静态语言的特性(如C++),又有动态语言的效率(动态绑定.动态加载等).总体来讲,OC确实是一门不错的编程语言, Objective-C具有相当多的动态特性,表现为三方面:动态类型(Dynamic typing).动态绑定(Dynamic binding)和动态加载(Dynamic loading).动态——必须到运行时(run time)才会做的一些事情. 动态类型:即运行时再决定对象的类型,这…
近期为准备找工作面试,在网络上搜集了这些题,以备面试之用. 插一条广告:本人求职,2016级应届毕业生,有开发经验.可独立开发,低薪求职.QQ:895193543 1.简述OC中内存管理机制. 答:内存管理机制:使用引用计数管理,分为ARC和MRC,MRC需要程序员自己管理内存,ARC则不需要.但是并不是 所有对象在ARC环境下均不需要管理内存,子线程和循环引用并不是这样.与retain配对使用的是release,retain代表引用计 数+1,release代表引用计数-1,当引用计数减为0时…
1获取系统语言设置 NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults]; NSArray *languages = [userDefault objectForKey:@"AppleLanguages"]; NSString *preferredLang = [languages objectAtIndex:]; 缓存路径下文件大小 - (unsigned long long int) cacheFol…
1获取系统语言设置 NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults]; NSArray *languages = [userDefault objectForKey:@"AppleLanguages"]; NSString *preferredLang = [languages objectAtIndex:0]; 2 缓存路径下文件大小 - (unsigned long long int) cache…
一 OC语法 1.关键字 基本上所有关键字都是以@开头,比如: @interface , @implementation, @end, @public, @protected, @private 2.字符串以@开头 比如 @"hello"是OC中的字符串,而"hello"是C中的字符串. 3.其他语法 1) 基本数据类型:  char , int , float, dobule, BOOL(YES/NO) 2) nil : 相当于C语言中的NULL,也就是0 3)…
1月16日 Objective  C(20世纪80年代初) 一.OC语言概述 1.1985年,Steve  Jobs成立了NeXT公司 2.1996年,12月20日,苹果公司宣布收购了NeXT  software 公  司,NEXTSTEP环境为apple公司下主要开发.发行操作 系统OSX的基础,这个开发环境的版本被苹果公司命名为 Cocoa(可可)框架             NSString  NS=NEXTSTEP 3.Cocoa框架  (Cocoa  Touc…
一 建立一个OC的类 完整的写一个函数:需要函数的声明和定义. 完整的写一个类:需要类的声明和实现. 1.类的声明 声明对象的属性和行为 #import <Foundation/Foundation.h> @interface Car : NSObject { @public int speed;//速度 int wheels;//轮子 } - (void) initSpeed:(int)speed withWheels:(int) wheels ; - (void) run; @end 第3…
本类从三个方面介绍iOS中的类别,分别是  什么是类别:类别的语法:类别的作用.具体内容如下: 一.类别: 类的补丁:当不能获取现有类的源码,但需要对现有类的功能进行补充时,这种情况下使用类别. 类别只能添加方法,不能添加成员变量. 类别中不提倡使用@property,@property在类别中使用时,不能生成对应的私有变量,因为类别中不能声明成员变量. 例如:对NSString进行加密MD5,这种情况下不能获取NSString的源码,但需要为其添加加密功能,则可以使用类别实现. 二.类别语法…
iOS属性及属性关键字 一.属性功能:1.给现有的成员变量生成一对setter/getter方法.2.如果没有声明成员变量,自动声明一个_属性名的私有变量(默认的成员变量是受保护的). 二.属性关键字:assign 默认(缺省)关键字,基本数据类型的赋值.MRC:手动管理内存retain 对象的属性声明,保存引用计数,如果别的对象使用当前对象,则该对象的计数器加1,即两个对象同时指向同一块内存.copy 对象的属性声明,直接拷贝对象为一个新的副本,而被拷贝的对象的计数器不会加1,即两个对象分别指…
前言 堆和栈是什么?有什么区别?是干嘛的? 内存管理 移动设备的内存及其有限,每一个APP所能占用的内存是有限制的 (吐槽一下:iPhone6s还是16G起步,还好我也买不起->_-> 扯远了~~~) 什么行为会增加APP的内存占用 创建一个oc对象 定义一个变量 调用一个函数或者方法 内存管理范围 任何继承了NSObject的对象 对其它非对象类型无效 简单来说: 只有oc对象需要进行内存管理 非oc对象类型比如基本数据类型不需要进行内存管理 引入堆和栈的概念 所以问题就来了,为什么OC对象…