zoukankan      html  css  js  c++  java
  • objetiveC中属性变量和成员变量

       

      属性变量 @property和@synthesize可以自动生成某个类成员变量的存取方法。

        readwrite:这个属性是默认的情况,会自动生成存取器

        assign:这个属性一般用来处理基础类型,比如int、float等等。

        copy:指定应该使用对象的副本(深度复制),前一个值发送一条release消息。

           基本上像retain,但是没有增加引用计数,是分配一块新的内存来放置它。

           copy是创建一个新对象,retain是创建一个指针,引用对象计数加1。copy

           建立一个索引计数为1的对象。然后释放旧的对象,copy是创建一个新对象,

           retain是创建一个指针,引用对象加1。

        readonly:将只生成getter方法而不生成setter方法。

        readwrite:默认属性,将生成不带额外参数的getter和setter方法(setter只有一个参数)

        atomic:对于对象的默认属性,就是setter/getter生成的方法是一个原子操作。如果多个

            线程同时调用setter的话,不会出现某一个线程执行setter全部语句之前,另一个

            线程开始执行setter的情况,相当于方法头尾加了锁一样。

        nonatomic:不保证setter/getter的原子性,多线程情况下数据可能会有问题。

            nonatomic,非原子性访问,不加同步,多线程并发访问会提高性能。先释放原先

            变量,再将新变量 retain然后赋值;

      成员变量 是该类的私有变量,只对该类可见。

  • 相关阅读:
    hdu 5532 Almost Sorted Array(模拟)
    hdu 2612 Find a way(bfs)
    hdu 2660 Accepted Necklace(dfs)
    reactjs学习一(环境搭配react+es6+webpack热部署)
    途牛banner自动轮播
    web app开发技巧总结
    20个为前端开发者准备的文档和指南
    Github上最受关注的前端大牛 快来膜拜把!
    怎么才能成为优秀的前端开发工程师?
    Web前端知识技能大汇总
  • 原文地址:https://www.cnblogs.com/AliliWl/p/4148352.html
Copyright © 2011-2022 走看看