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. 第五章 CSS页面布局基础

    1.标准文档流 在正常流中,在没有使用浮动或者定位的情况下,文本元素按照从上到下.从左到右的格式布局.这是浏览器的默认行为.在正常流中,块级元素从上到下依次排列,而行级元素从左到右依次排列.正常流中的 ...

  2. 联系人的侧边字母索引ListView 将手机通讯录姓名通过首字母排序。

      package com.lixu.letterlistview; import java.util.ArrayList; import java.util.List; import org.apa ...

  3. 作用域闭包、预解释和this关键字综合题目

    var number = 2; var obj = {number : 5, fn1 : ( function() { this.number *= 2; number=number*2; var n ...

  4. LA 4119 - Always an integer

    https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_probl ...

  5. FR报表 自动缩小的代码

    procedure TfrMemoView.Draw(Canvas: TCanvas); var newdx: Integer; OldScaleX, OldScaleY: Double; fs: i ...

  6. Android学习参考教程和工具及常见问题解决

    参考教程: 1.菜鸟教程:http://www.runoob.com/w3cnote/android-tutorial-intro.html 2.Android初學特訓班(第五版) 使用工具: 1.A ...

  7. ios应用数据存储的常用方式 ios7.1应用沙盒

    归档:用某种格式保存某个对象,又称持久化. 1XML 属性列表plist归档(持久化) 2Preference(偏好设置) 3NSKeyedArchiver归档 4SQLite3 5Core Data ...

  8. 用时间生成用户Id

    用用户注册时的时间,作为新用户的Uid: /** * 生成用户id,用时间生成 * * @return */ public static String date2UserId() { SimpleDa ...

  9. java web 之 web.xml篇

    web.xml文件 标签: 1. <web-app> 顶层标签,所有web.xml必须包含该标签.在该标签中,描述了当前Servlet版本以及其他一些信息. 2. <servlet& ...

  10. Notification通知栏

    Notification通知栏 首先实现的功能就是通知栏显示Notification,Notification是显示在系统的通知栏上面的,所以Notification 是属于进程之前的通讯.进程之间的 ...