293得票4回答
Objective-C中声明@property的属性(nonatomic,copy,strong,weak)

有人可以详细解释一下在声明属性时,我必须使用每个属性:nonatomic、copy、strong、weak等的情况,并解释每个属性的作用吗?最好能提供一些例子。我正在使用ARC(自动引用计数)。

103得票6回答
声明的属性是否需要相应的实例变量?

Objective-C 2.0中的属性是否需要声明相应的实例变量?例如,我习惯这样做: MyObject.h@interface MyObject : NSObject { NSString *name; } @property (nonatomic, retain) NSString *n...

62得票4回答
在ARC下,NSString属性应该使用strong还是copy?

如果不使用ARC编译,建议对于NSString等数据类型使用copy属性。我无法找到关于在ARC模式下使用copy的适用文档。有人能告诉我在ARC中应该如何使用吗?

35得票7回答
将私有的Objective-C方法或属性暴露给子类

根据一些官方讲话,Objective-C中的类应该只在其头文件中公开方法和属性:@interface MyClass : NSObject @property (nonatomic, strong) MyPublicObject *publicObject; - (void)publicM...

31得票4回答
myView.frame.origin.x = value; 不起作用- 为什么?

我知道我不能使用这个:myView.frame.origin.x = 25.0; 而我必须使用这个代替:CGRect myFrame = myView.frame; myFrame.origin.x = 25.0; myView.frame = myFrame; 我一直在这样做,但我不知道为什...

25得票10回答
获取属性名作为字符串

我需要一种方法来传递一个属性并获取分配给它的名称。有什么建议吗?@property (nonatomic, retain) MyObject *crazyObject; NSString *str = SOME_WAY_TO_GET_PROPERTY_NAME(crazyObject); /...

25得票2回答
使用属性名动态访问Objective-C属性

我知道一个对象属性的字符串名称,如何使用该字符串获取和设置该属性?

24得票2回答
为什么一个声明的属性同时使用retain和readonly?

我注意到苹果的一些示例在属性上同时使用了retain和readonly修饰符。如果我们使用readonly修饰符并且不会生成setter,那么包括retain的意义是什么呢? 例如:@property (retain, readonly) NSString *title;,来源于Animate...

22得票3回答
@synchronized(self)是否创建了一个块,其中self前缀在属性上是不必要的?

我在某个外国代码中读到了一些东西,我想检查一下我的假设: @synchronized(self) 在设置属性时用于摆脱self前缀。 因此,在我的下面的示例中,我设置了实例的strText,而不仅仅是一个局部变量,对吗?- (void)myfunction{ NSString * ...

13得票1回答
在.h接口中声明属性,还是在.m文件的扩展中声明属性?

在Objective-C中,最佳实践是: 在.h文件中声明对象(例如按钮),然后在.m文件中合成 .h @interface SomeViewController : UIViewController @property (strong, nonatomic) UIButton ...