oc的一些总结

下面几个问题是oc中需要掌握的内容

1.如何掌握一个方法的方法名
2.一个对象调用一个autorelease,什么时候释放
3.字典和数组,集合都有什么特点
4.如何定义一个类
5.类目是什么
6.什么是对象
7.属性的属性,(assgin )
8.不要再setter中调用自己,负责会死循环
8.可变字符串改变的还是自己
9.字典里面key必须是唯一的,新key会覆盖旧值
10.类方法里不能使用实际变量
11.dealloc什么时候调用,注意事项
12.内存管理
13.初始化方法是做什么用的
14.怎么去使用block变量
,掌握声明定义
15.属性方法的setter内部实现
16.便利构造器怎么写
17.如何处理autorelease对象

一些小的知识点

id是一个指向任意对象类型

"+" +方法即类方法不能调用自己类的实例变量

#import 将一个文件的全部文件内容拷贝到当前文件

私有不会拷贝过去,因为import的时.h文件而不是.m文件

类目中一班添加没有的方法,而不是重写,重写一般是在子类中重写

输出字典的时候key = value

类的初始化作用:在创建对象后,对这个刚刚创建的实例对象进行初始化操作,即做一些默认操作

堆区是手动管理内存

栈区是系统管理内存

BLOCK的无返回值声明:void (^block)(NSString *str);

NSString *testObject = [[NSData alloc] init]; testObject 在编译和运行时分别是什么类型

编译时是NSString类型    运行时是NSData类型

协议的property声明用什么属性?为什么?

协议是多个类分享的一个方法列表,在协议中所列出的方法没有响应的 实现,    有其他人来实现
协议的property声明用assign特性,因为要防止对象和其他代理对象之间互相应用,导致无法释放内存
在block内部要改变外部变量时,需要使用_block关键字
 
扩展一个累的功能有几种途径?有什么区别?
类目:类目可以在不获悉,不改变原来代码的情况下往里面添加新的方法,只能添加,不能删除原有方法,但是无法添加实例变量
延展:延展可以同时添加实例变量和方法,而且添加的方法必须实现,可以视为一个私有的类目
协议:协议是多个类共享的一个发方法列表,在协议中所列出的方法没有响应的实现
继承:不但可以添加实例变量和方法,也可以重写原有类的方法
 
用一个autorelease  必须在@autoreleasepool{   }中使用
 
请完成声明一个返回值是bool类型,并且带两个字符串对象的BLOCK类型变量
BOOL (^ablock)(NSString *str1 , NSString *str2);
为BLOCk变量赋值,使该变量具有判断两个字符串对象是否相等的功能;并使用该BLOCK变量测试两个字符串@“Abc”,@“abc”是否相等
BOOL (^ablock)(NSString *str1,NSString *str2);
ablock = ^(NSString *str1,NSString str2)
{
if([str1 isEqualTOString:str2])
{
return YES;
}
return NO;
}
NSLog(@“%@“,ablock(@“Abc”,@“abc”)?@“一样”:@“不一样”);

oc小总结的更多相关文章

  1. OC小实例关于init 方法不小心的错误

    OC小实例关于init 方法不小心的错误  正视遇到的每一个错误 在一个遥控器类操控小车玩具的小实例项目中,我采用组合的方式,将遥控器拥有小汽车对象(has a)关系,而不是继承(is a)关系. 想 ...

  2. ios开发之OC基础-oc小程序

    本系列的文章主要来自于个人在学习前锋教育-欧阳坚老师的iOS开发教程之OC语言教学视频所做的笔记,边看视频,边记录课程知识点.建议大家先过一遍视频,在看视频的过程中记录知识点关键字,把把握重点,然后再 ...

  3. c和oc小知识

    1.const const 修饰了*p1 / *p2 const int * p1=&age; int const * p2=&age;//和上面的意义一样 ,换句话说就是 在 “ * ...

  4. OC小实例关于init方法不小心的错误

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  5. OC录制小视频

    OC录制小视频 用 AVCaptureSession + AVCaptureMovieFileOutput 来录制视频,并通过AVAssetExportSeeion 手段来压缩视频并转换为 MP4 格 ...

  6. OC基础--多态 及 三特性小练习

    什么是多态 什么是多态: 多态就是某一类事物的多种形态 猫: 猫-->动物 狗: 狗-->动物 男人 : 男人 -->人 -->动物 女人 : 女人 -->人 --> ...

  7. runtime使用小例子 - 给对象O-C属性赋值

    这些日子在家里学习runtime,看runtime的一些方法和前辈们的博客,我也尝试着写几个runtime有效的运用 一.给对象属性赋值,例如一个WebEntity类 她有三个属性:NSString. ...

  8. 第五十九篇、OC录制小视频

    用 AVCaptureSession + AVCaptureMovieFileOutput 来录制视频,并通过AVAssetExportSeeion 手段来压缩视频并转换为 MP4 格 AVFound ...

  9. oc学习之路----application.keyWindow.rootViewController与self.window.rootViewController与[self.window makeKeyAndVisible];小发现

    刚才调试的时候除了一些小问题,有一段代码要重用 NSString *key = @"CFBundleVersion"; // 取出沙盒中存储的上次使用软件的版本号 NSUserDe ...

随机推荐

  1. HookSSDT 通过HookOpenProcess函数阻止暴力枚举进程

    首先要知道Ring3层调用OpenProcess的流程 //当Ring3调用OpenProcess //1从自己的模块(.exe)的导入表中取值 //2Ntdll.dll模块的导出表中执行ZwOpen ...

  2. 二分搜索法(转载自vanezkw)

    二分查找算法java实现 今天看了一下JDK里面的二分法是实现,觉得有点小问题.二分法的实现有多种今天就给大家分享两种.一种是递归方式的,一种是非递归方式的.先来看看一些基础的东西. 1.算法概念. ...

  3. ZOJ 3646 Matrix Transformer 二分匹配,思路,经典 难度:2

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4836 因为要使对角线所有元素都是U,所以需要保证每行都有一个不同的列上有U,设 ...

  4. #数据结构-fib

    /////////////////////////////////////////////////////////////////////////////// // // FileName : fic ...

  5. JSON初步

    1.什么是JSON (1)JSON(Java Script Object Notation)是一种轻量级的数据交换语言, 以文本字符串为基础,且易于让人阅读 XML就是一个重量级的数据交换语言 (2) ...

  6. java抽象类与接口 详解

    在面向对象的概念中,我们知道所有的对象都是通过类来描绘的,但是并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类. 抽象类往往用来表征我们在对问题 ...

  7. APP store 上架过程中碰到的那些坑&被拒的各种奇葩原因整理&审核指南中文版

    苹果官方发布的十大常见被拒原因 1.崩溃次数和Bug数量.苹果要求开发者在将应用提交给App Store之前彻查自己的应用,以尽量避免Bug的存在. 2.链或错误的链接.应用中所有的链接必须是真实且有 ...

  8. namenode 和datanode无法启动,错误:FSNamesystem initialization failed. datanode.DataNode: Incompatible namespaceIDs

    问题一: namenode无法启动,查看日志,错误信息如下: org.apache.hadoop.hdfs.server.namenode.FSNamesystem: FSNamesystem ini ...

  9. julia与python中的列表解析.jl

    julia与python中的列表解析.jl #=julia与python中的列表解析.jl 2016年3月16日 07:30:47 codegay julia是一门很年轻的科学计算语言 julia文档 ...

  10. mysql 命令行操作

    1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root ...