草庐IT

propertie

全部标签

objective-c - 当我发现自己 100% 的时间都在使用非原子时,为什么 "atomic"是 Objective C 中的默认 @property 限定符?

在我作为iOS开发人员的几年中,我认为我从未在属性上使用过atomic。如果我可以看到由于线程导致的潜在竞争条件或数据完整性问题,那么在@property上使用atomic将无济于事。我使用传统的事务/工作单元线程安全技术(使用机制锁、信号量或其他)。有没有人有(或知道)使用atomic的实际示例?(我希望看到一些实际/实用的代码示例)在写了十亿次nonatomic之后,我还想知道为什么Apple决定将atomic设为默认值。 最佳答案 至于你遇到的第一个问题,可能是因为Although“atomic”meansthataccess

objective-c - 当我发现自己 100% 的时间都在使用非原子时,为什么 "atomic"是 Objective C 中的默认 @property 限定符?

在我作为iOS开发人员的几年中,我认为我从未在属性上使用过atomic。如果我可以看到由于线程导致的潜在竞争条件或数据完整性问题,那么在@property上使用atomic将无济于事。我使用传统的事务/工作单元线程安全技术(使用机制锁、信号量或其他)。有没有人有(或知道)使用atomic的实际示例?(我希望看到一些实际/实用的代码示例)在写了十亿次nonatomic之后,我还想知道为什么Apple决定将atomic设为默认值。 最佳答案 至于你遇到的第一个问题,可能是因为Although“atomic”meansthataccess

objective-c - 我应该在 ARC 的 init 方法中引用 self.property 吗?

一个简单的问题。如果我有一个属性和一个用相同名称声明的ivar:在.h文件中:(Reminder*)reminder;@property(nonatomic,strong)(Reminder*)reminder;在.m文件中,如果我使用ARC,我应该使用ivar还是init方法中的属性?-(id)initWithReminder:(Reminder*)reminder_{self=[superinit];if(self){reminder=reminder_;}returnself;}或者我应该像这样使用该属性来获得自动引用计数的好处:-(id)initWithReminder:(Re

objective-c - 我应该在 ARC 的 init 方法中引用 self.property 吗?

一个简单的问题。如果我有一个属性和一个用相同名称声明的ivar:在.h文件中:(Reminder*)reminder;@property(nonatomic,strong)(Reminder*)reminder;在.m文件中,如果我使用ARC,我应该使用ivar还是init方法中的属性?-(id)initWithReminder:(Reminder*)reminder_{self=[superinit];if(self){reminder=reminder_;}returnself;}或者我应该像这样使用该属性来获得自动引用计数的好处:-(id)initWithReminder:(Re

ios - @property 在 Objective-C 中保留、分配、复制、非原子性

作为Objective-C的新手,有人可以给我一个关于保留、分配、复制以及我遗漏的任何其他内容的概述,遵循@property指令吗?他们在做什么,为什么我要使用一个而不是另一个? 最佳答案 MrMage链接的文章不再有效。所以,这是我在Objective-C中(非常)短时间编码中学到的东西:非原子与原子-“原子”是默认值。始终使用“非原子”。我不知道为什么,但我读过的书说“很少有理由”使用“原子”。(顺便说一句:我读的书是BNR“iOS编程”书。)读写与只读-“读写”是默认值。当您@synthesize时,将为您创建一个getter

ios - @property 在 Objective-C 中保留、分配、复制、非原子性

作为Objective-C的新手,有人可以给我一个关于保留、分配、复制以及我遗漏的任何其他内容的概述,遵循@property指令吗?他们在做什么,为什么我要使用一个而不是另一个? 最佳答案 MrMage链接的文章不再有效。所以,这是我在Objective-C中(非常)短时间编码中学到的东西:非原子与原子-“原子”是默认值。始终使用“非原子”。我不知道为什么,但我读过的书说“很少有理由”使用“原子”。(顺便说一句:我读的书是BNR“iOS编程”书。)读写与只读-“读写”是默认值。当您@synthesize时,将为您创建一个getter

objective-c - 语义问题 : Property's synthesized getter follows Cocoa naming convention for returning 'owned' objects

我目前正在使用iOS5SDK尝试开发我的应用程序。我正在尝试使NSString成为属性,然后在.m文件中合成它(我之前已经这样做了,没有任何问题)。现在,我遇到了这个问题:“语义问题:属性的合成getter遵循Cocoa命名约定以返回‘拥有’对象。”这是我的代码:.h@interfaceViewController:UIViewController{NSString*newTitle;}@property(strong,nonatomic)NSString*newTitle;.m@synthesizenewTitle;有人知道我该如何解决这个问题吗?谢谢!!

objective-c - 语义问题 : Property's synthesized getter follows Cocoa naming convention for returning 'owned' objects

我目前正在使用iOS5SDK尝试开发我的应用程序。我正在尝试使NSString成为属性,然后在.m文件中合成它(我之前已经这样做了,没有任何问题)。现在,我遇到了这个问题:“语义问题:属性的合成getter遵循Cocoa命名约定以返回‘拥有’对象。”这是我的代码:.h@interfaceViewController:UIViewController{NSString*newTitle;}@property(strong,nonatomic)NSString*newTitle;.m@synthesizenewTitle;有人知道我该如何解决这个问题吗?谢谢!!

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

当我必须使用每个属性时,谁能详细解释一下:nonatomic、copy、strong、weak等,用于声明的属性,并解释每个属性的作用?某种例子也会很棒。我正在使用ARC。 最佳答案 非原子Nonatomic不会通过@synthesize访问器生成线程安全例程。atomic将生成线程安全访问器,因此atomic变量是线程安全的(可以从多个线程访问而不会破坏数据)复制copy在对象可变时是必需的。如果您现在需要对象的值,并且您不希望该值反射(reflect)对象的其他所有者所做的任何更改,请使用此选项。完成后您需要释放该对象,因为您保

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

当我必须使用每个属性时,谁能详细解释一下:nonatomic、copy、strong、weak等,用于声明的属性,并解释每个属性的作用?某种例子也会很棒。我正在使用ARC。 最佳答案 非原子Nonatomic不会通过@synthesize访问器生成线程安全例程。atomic将生成线程安全访问器,因此atomic变量是线程安全的(可以从多个线程访问而不会破坏数据)复制copy在对象可变时是必需的。如果您现在需要对象的值,并且您不希望该值反射(reflect)对象的其他所有者所做的任何更改,请使用此选项。完成后您需要释放该对象,因为您保