zoukankan      html  css  js  c++  java
  • iOS中,在类的源文件(.m)中,@interface部分的作用?

     

    此@interface部分为类扩展(extension)。

    其被设计出来就是为了解决两个问题的

    其一,定义类私有方法的地方。

    其二,实现public readonly,private readwrite的property(意思是在h头文件中定义一个属性对外是readonly的,但在类的内部希望是可读写的,所以可以在m源文件中的@interface部分重新定义此属性为readwrite,此时此属性对外是只读的,对内是读写的)。

    此外,也可在此部分申明变量和属性,但申明的变量,属性和方法均为私有的,只能够被当前类访问,相当于private。

    如有你有public 和 private 的概念, 你可以理解为:  .h 文件声明的@property ,是公共的,是可以被其他的.m 文件访问的; 而 在.m文件中声明的@property,是私有的, 只能在该.m文件中使用。 

    再进一步想想,也容易理解。 

    因为 .h 文件可以被其他.m 文件 #import。 自然就可以被其他.m文件访问; 而在.m 文件中所声明的,其实就是一个 static的 变量或方法,自然不能被其他文件访问。

  • 相关阅读:
    软件工程
    ROR
    全息技术(Holographic technique)
    VR技术、AR技术、MR技术
    人工智能(AI)
    机器学习(Machine Learning)
    hdoj Scaena Felix
    周赛题解
    Good Luck in CET-4 Everybody!(博弈)
    Paths on a Grid(规律)
  • 原文地址:https://www.cnblogs.com/xiaohaoweiye/p/3892218.html
Copyright © 2011-2022 走看看