object assign是啥意思
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了object assign是啥意思相关的知识,希望对你有一定的参考价值。
object assign对象分配
双语对照
例句:
1.
After I make an object like the earth and moon, I can assign other properties tothose objects.
在我构造了一个类似与地球和月球的物体之后,可以指定这些对象其他属性。 参考技术A 分配任务。。。。。
Objective-C 中的“@public”是啥意思?
【中文标题】Objective-C 中的“@public”是啥意思?【英文标题】:What does “@public” mean in Objective-C?Objective-C 中的“@public”是什么意思? 【发布时间】:2011-02-16 10:01:31 【问题描述】:阅读question on @private 后,我明白它是如何工作的。但是,由于所有变量都默认为@protected,并且如果不定义访问器就无法真正访问变量,@public 究竟做了什么?什么时候用?
【问题讨论】:
【参考方案1】:@public 表示 ivar 可以在任何地方访问。
@private 表示类的实例可以访问 ivar
@protected 表示类和子类的实例可以访问 ivar。
要访问类外部的公共 ivar,请使用标准 C 结构指针运算符 -> 例如
foo->instanceVarible = xyzzy;
你什么时候使用它?就我而言:从来没有。我总是将实例变量定义为@private(IBOutlets 除外)并使用访问器在类外访问它们。
【讨论】:
我知道你从哪里来,但是,IMO 我发现总是用访问器创建私有变量,当它们实际上被设计为并充当公共时,这有点矫枉过正. 一段时间后它会成为第二天性,当然,如果它们是对象,除非你使用 GC,否则无论如何你都需要访问器。【参考方案2】:你什么时候使用它?当你需要它是public
。要从该类外部访问它(没有任何额外的访问器),就是这样。 :)
【讨论】:
【参考方案3】:@public
是可见性修饰符。这意味着声明为@public
的实例变量可以被任何类的实例访问。公共成员可以被子类或其他类访问。相反,私有成员不能被子类或其他类访问。
【讨论】:
【参考方案4】:这个问题是关于编码实践的。
如果您正在编写非常严格的代码,您将始终使用@private
作为实例变量,以确保只有类函数可以访问它们。在我看来,这仅在非常特定的情况下是必需的,例如,类变量(一个类的多个实例有一个变量)。
大多数时候@protected
最适合普通实例变量,因为它允许子类直接访问它们。它更自然,并且与扩展类的想法一致。根据您实际访问它们的方式,Objective C 可能实际上使用该类的 setter 和 getter 函数。 @protected
是高效代码和使代码更具可读性的理想选择。
@public
保留用于快速或脏编程。直接访问实例成员可能会更快,或者您正在与另一种编程语言/库交互并且您正在编写一些胶水。我尽量避免它,因为这意味着代码维护更加困难。
显然,您可以一直使用 @public
- 回到 C 编程的美好时光。
您当然可以选择不为类变量定义任何访问器,因为它是类内部的,或者因为您声明为 @public
,但由于 Objective C 使得使用 @property
和 @synthesize
对它们进行原型制作变得容易似乎没有多大意义。内部类变量不需要 setter/getter,因为任何类方法都可以直接访问它们。
【讨论】:
以上是关于object assign是啥意思的主要内容,如果未能解决你的问题,请参考以下文章