zoukankan      html  css  js  c++  java
  • 关于@property与@syntheszie的使用问题

    写在前面:在ARC大行其道的“现代化社会”,不少人不再对“完整的“OC”抱有它应该获得的尊重,于是浮躁成了代名词~~


    在使用ARC时,大家声明变量的过程中,往往使用@property来通过编译器,隐式的声明set与get方法,但是,ARC不是万能的,

    它可能在你需要某个成员变量的时候已经释放了目标的内存,(真是喜闻乐见~)

     

    一般项目中都会通过set方法来进行变量的赋值与页面数据绑定,所以set方法必写(你不写,你任性,你可以~)

     

    但是,问题来了,当ARC释放了你需要得内存的时候,你可能想到用get方法来获取(当然也可以用添加引用计数的方法),不过我们讨论的问题在于:

    一旦你添加了get方法,编译器会报错~

     

    所以,写这篇随笔的目的就是来说为什么~以及怎么办~

    为什么:

    刚才已经说了,利用property关键字会隐式创建get、set方法。你写一个get或者set,它不会对你怎样,但是如果你两个都写,意味着你对property不尊重(因为你否定了它的存在)

     

    怎么办:

    一)利用删除property,利用“{}”声明成员变量

    (二)利用@synthesize关键字重写get、set方法。声明_model1为对象所有,与set方法中model1不存在重名冲突。

  • 相关阅读:
    锁屏设计文档
    用 jquery 解决 浏览器 兼容问题
    mysql 查询语句
    技术相关
    android Rom 制作2
    android Rom 制作
    UI设计
    jquery 表单验证
    cent os数据库安装
    mysql jdbc 驱动 下载地址官网
  • 原文地址:https://www.cnblogs.com/tig666666/p/6742942.html
Copyright © 2011-2022 走看看