declared-property相关内容

myView.frame.origin.x = 值;不起作用 - 但为什么?

我知道我不能使用这个: myView.frame.origin.x = 25.0; 而我必须用它来代替: CGRect myFrame = myView.frame;myFrame.origin.x = 25.0;myView.frame = myFrame; 而且我一直都在这样做,但我不知道为什么我必须这样做.我想填补我理解上的空白.有人可以解释一下吗? 如今 Xcode 为您提供 ..

自变量和变量差异

self.myVariable = obj; 和 myVariable = obj; 有什么区别,当我使用 @propery/@synthesize 创建`myVariable? 解决方案 需要注意的是,编译器将 dot-syntax 转换为一个简单的 objc_msgSend 调用:也就是说,它的作用与发送到的消息完全一样该变量的访问器.因此,以下所有三个都是等效的: self.myV ..
发布时间:2021-12-17 22:25:02 移动开发

Objective-C 声明的@property 属性(非原子、复制、强、弱)

当我必须使用每个属性时,谁能给我详细解释一下:nonatomic、copy、strong、weak 等,用于声明的属性,并解释每个属性的作用?某种例子也会很棒.我正在使用 ARC. 解决方案 Nonatomic 非原子不会 通过 @synthesize 访问器生成线程安全例程.atomic 将生成线程安全访问器,因此 atomic 变量是线程安全的(可以从多个线程访问而不会损坏数据) ..

属性未在iOS 7中初始化

我正在为iOS 7开发,但是我仍然必须手动编写getter,否则我的属性就不会初始化.我试着手动合成那些属性,即使现在不再需要它了,但这也没有实现. 在下面的视图控制器中,我使用属性motionTracker,该属性从未初始化.我所有的项目都有相同的问题,所以我知道这是我的误解. #import "ViewController.h" #import "TracksMotion.h" ..
发布时间:2020-07-21 18:40:47 移动开发

为什么Xcode自动创建带下划线的变量?

为什么在最新版本的Xcode(dp-4)中,使用retain,nonatomic声明的变量必须在变量名之前使用下划线?这会创建某种类型的安全性吗? 例如,我创建一个属性: @property (retain, nonatomic) IBOutlet UILabel *name; 除非我将dealloc中的变量更改为不具有_,否则我必须这样做: @synthesize name ..
发布时间:2020-07-21 18:40:45 移动开发

Objective-C只读属性是否需要指定强度或副本?

如果我具有只读字符串属性,是否有必要在声明中指定strong(或retain)或copy?如果我未指定,是否假设其中之一? 在我看来,所有权属性仅在有二传手时才有用. @property (nonatomic, readonly) NSString *name; 解决方案 那基本上是正确的.对于readonly属性,strong,retain,weak和assign无效.但是,如 ..
发布时间:2020-07-21 18:40:42 移动开发

获取一个Objective-c属性的地址(这是一个C结构)

我有一个Objective-C类,其中包含C样式的结构.我需要调用一个C函数,将一个指针传递给该对象成员(也就是属性).为了我的一生,我不知道该如何获取此C结构的地址.使用传统的&运算符获取地址,我遇到了LValue编译器错误. typedef struct _myStruct { int aNumber; }MyStruct, *pMyStruct; @interface MyCl ..

Objective-C声明的@property属性(非原子,复制,强,弱)

当我必须使用每个属性(nonatomic,copy,strong,weak等)时,有人可以向我详细解释一个声明的属性,并解释每个属性做什么?某种例子也很好.我正在使用ARC. 解决方案 此答案有很多错误,并且已经过时.请查看其他问题/答案和评论. 非原子 nonatomic用于多线程目的.如果我们在声明时设置了非原子属性,那么任何其他想要访问该对象的线程都可以访问它,并给出有关 ..

何时使用强属性或弱属性

我有一个表视图作为IBOutlet,默认情况下,XCode将其属性设置为strong而不是weak.有时我会收到“收到内存警告"消息.因此,我尝试将许多属性从strong更改为weak,但是它似乎并没有影响过程,并且一切运行正常.我应该将网点设置为弱点,还是我错了? 最重要的是,应该在viewDidUnload方法中将 ALL 属性设置为nil还是仅设置IBOutlet s? 解决方案 ..

为什么声明的属性同时使用保留和只读?

我注意到Apple的一些示例在属性上同时包含了retain和readonly修饰符.如果在使用readonly修饰符时没有生成设置器,那么包含retain有什么意义? 示例:AnimatedTableView示例中的@property (retain, readonly) NSString *title;. 解决方案 您可以在类扩展中包含第二个私有读写声明.所有引用的内存管理方案都需 ..
发布时间:2020-05-08 21:50:33 移动开发