OC知识点
1.@autoreleasepool
2.retain
O-C内存管理和点语法
1>OC内存管理正常情况要使用大量的retain和relrese操作
2>点语法可以减少使用retain和release的操作
3.Runloop
4.@property(retain)编译器如何申明
编译器对于@property中的retain展开是不一样的
主要是要释放上一次的值,增加本次计数器
在dog.h中声明的:
@property(retain)Dog *dog;
展开后为:
-(void) setDog:(Dog *)aDog;
-(Dog *)dog;
5.@synthesize编译器如何实现展开
在dog.m中实现:
@synthesize dog=_dog;
展开后为:
-(void) setDog:(Dog *)aDog{
if(_dog!=aDog){
[_dog release];
_dog=[aDog retain];
}
}
-(Dog *)dog{
return _dog;
}
6.dealloc需要注意内容
dealloc必须要释放dog(retain)
在dog.m中
-(void) dealloc
{
self.dog=nil;
[super dealloc];
}
7.copy属性的主要作用
copy属性是完全把对象重新拷贝了一份,计数器从新设置为1,和之前拷贝的数据完全脱离关系。
@property(copy) NSString* str;
//表示属性的getter函数
-(double) str
{
return str;
}
//表示属性的setter函数
-(void) setStr:(NSString *)newStr
{
str=[newStr copy];
}
8.assign,retain,copy
1、foo=value;//简单的引用赋值
2、foo=[value retain];//引用赋值,并且增加value的计数器
3、foo=[value copy];//将value复制了一份给foo,复制后,foo和value就毫无关系
9.Foundation框架
(学习Objective-C必备知识)
10.IOS开发中需要注意的一些问题
11.Xcode6-beta3版本新建项目中没有foundation
OC知识点的更多相关文章
- OC 知识点回顾
/* 字符串: NSString 不可变字符串 字符串对象的内容不能修改,字符串的指针可以改变 NSMutableString 可变字符串 可以修改字符串对象的内容,继承自NSString , ...
- OC知识点(类方法,构造方法,组合模式,get,set方法,自动生成属性)
1.类方法的优势 不用创建对象,节省了空间,直接用类名调用类方法,类方法为外界提供一个方便的调用接口.(特点:类方法以加号开头,不能使用自身的成员变量,它的调用不依赖成员变量) 2.构造方法(初始化成 ...
- oc Learning Blog
http://www.cnblogs.com/heyonggang/p/3351269.html M了个J :http://www.cnblogs.com/mjios/tag/objective-c/ ...
- IOS开发博客学习
M了个J :http://www.cnblogs.com/mjios/tag/objective-c/ http://www.cnblogs.com/tianjian/p/3358602.html ...
- oc必须知道的知识点
id数据类型 1.通用的指针类型 2.没有*号 3.使用id类型时,不能给对象的属性或成员变量进行赋值 4.可以对其发送任何(存在的)消息 import与@class的区别 1.import会包含 ...
- OC:内存管理、dealloc方法、copy知识点
属性的声明:使⽤@property声明属性 例如:@property NSString *name: 相当于@interface中声明了两个⽅法(setter.getter): 属性的实现:使⽤@s ...
- OC:面向对象的编程思想、基本的知识点总结、强,弱引用
OC 面向对象 和 面向过程 参考 面向过程:使用步骤划分功能,然后用函数一步一步的调用 面向对象:OOP (Object Oriented Programming) 使用功能来简化问题, 面向对象语 ...
- iOS开发——实战总结OC篇&网易彩票开发知识点总结
网易彩票开发知识点总结 关于网易彩票开发中遇到了不少的坑,弄了好久才弄懂,或者有些犹豫很久没用就不记得了,所以这里就总结了一下,希望以后不会忘记,就算忘记也能快速查看! /************** ...
- iOS开发——动画OC篇&知识点总结
图层与动画知识点总结 1.Core Animation 非娱乐类的软件都会用到的动画,操作简单. 2.Quartz 2D绘图 是一个2D绘图引擎. (1) 绘图Context是一个绘图的目标对象,定义 ...
随机推荐
- JavaWeb学习记录(五)——Servlet随机产生验证码
随机产生验证码的工具类: import java.awt.Color;import java.awt.Graphics;import java.awt.image.BufferedImage;impo ...
- Vue.js相关知识4-路由
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- HTML初讲
整理老师所讲: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www ...
- console下纯字符实现的贪吃蛇
最近简直超级无聊-- code blocks win7 64编译运行无问题,应该其他编译器也不会有问题. w:上 s:下 a:左 d:右 CS标准方向控制,AK47和M4这种高级货是没有滴-- 废话不 ...
- 黑马程序员——JAVA基础之数组
------- android培训.java培训.期待与您交流! ---------- 数组: 数组的定义: 数组是相同类型数据的集合, 描述的是相同类型的若干个数据按照一定的先后顺序排列组合而成,其 ...
- 亲测 logminer挖掘
LogMiner两种使用类型,一种是使用源数据库的数据字典分析DML操作,别一种是摘取LogMiner数据字典到字典文件分析DDL操作.检查下suppplemental logging:SQL> ...
- docker学习3-虚拟网络模式
一.虚拟机网络模式 在理解docker网络隔离前,先看下之前虚拟机里对网络的处理,VirtualBox中有4中网络连接方式: NAT Bridged Adapter Internal Host-onl ...
- 安装pgadmin3
在centos/redhat/系统是x86_64 1.下载适合自己系统的合适的版本http://dl.fedoraproject.org/pub/epel/6/x86_64/ ( yum instal ...
- httplib
可爆破目录 import httplib import urllib def sendhttp(): data = urllib.urlencode({'@number': 12524, '@type ...
- 怎么用ABBYY创建属于自己的PDF
怎么创建一份属于自己的PDF文档呢?由于PDF格式文件具有跨平台.支持超长文件.安全可靠性高等诸多优势,在日常办公学习中应用越来越广泛.而随着技术的发展,各种办公软件也对PDF提供越来越多的支持,但P ...