zoukankan      html  css  js  c++  java
  • [Objective-C A]-知识点锦集

    1.@autoreleasepool  why1

    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
     
  • 相关阅读:
    Altium Designer的PCB定位槽制作
    J-LINK V8固件烧录指导
    简单实用的双向电平转换电路(3.3v-5v)
    Altium Designer 文档信息设置以及模板制作
    第十周作业
    第九周作业
    第8周作业作业
    第七周作业
    linux作业
    马哥教育第一阶段考试(月考)
  • 原文地址:https://www.cnblogs.com/royi123/p/5002476.html
Copyright © 2011-2022 走看看