草庐IT

objective-c - 如果声明我自己的 getter & setter,则无法识别 iVar

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:propertynotworkingwithgetterANDsetter这是我面临的问题:我使用的是iOS6。我在头文件中声明了一个属性:@property(nonatomic)CGFloatscale;然后在实现中,我像这样创建自己的getter/setter:#defineDEFAULT_SCALE0.90-(void)setScale:(CGFloat)scale{if(_scale!=scale){_scale=scale;[selfsetNeedsDisplay];}}-(CGFloat)scal

iphone - ARC 环境中的 Setter 和 Getter

我仍在学习CocoaTouch的一些细微差别。在ARC环境中,内部会为float、int等类型生成什么样的getter/setter?我知道如果属性是非ARC上的对象,我可能会有这样的东西:-(NSURL*)url{if(_url==nil)_url=[[MyURLalloc]initWithURL:url];return_url}-(void)setUrl:(NSURL*)theUrl{if(theUrl!=_url){[_urlrelease];_url=[theUrlretain];}}但在ARC环境中不能使用release和retain。在这种情况下,为ARC环境自动创建什么样

ios - 修复警告 : cannot pair a synthesized setter/getter with a user defined setter/getter

我在我的应用程序中使用QHTTPOperation.{h/m}发现here一切正常,但我收到如下8条警告:Writableatomicproperty'acceptableStatusCodes'cannotpairasynthesizedsetter/getterwithauserdefinedsetter/getterWritableatomicproperty'acceptableContentTypes'cannotpairasynthesizedsetter/getterwithauserdefinedsetter/getterWritableatomicproperty'a

objective-c - getter ios objective-c 的递归问题

我有这个属性:@property(nonatomic,getter=getSolutionsCount,setter=setSolutionsCount:)NSIntegersolutionsCount;和实现-(NSInteger)getSolutionsCount{returnself.solutionsCount;}我在这个方法上得到了EXC_BAD_ACCESS-(NSInteger)getSolutionsCount。我在这里做错了什么? 最佳答案 点语法基本上是调用getter的快捷方式。您的getter方法中有无限递归

ios - Objective-C : Infinite getter method loop after converting to ARC

我有以下方法:-(NSMutableArray*)someArray{//line1if(self.someArray==nil){//line2self.someArray=[[NSMutableArrayalloc]init];}returnself.someArray;}我在非ARC中有这个,它工作正常:如果第2行中的self.someArray是nil,那么继续实例化它。但是,我切换到ARC之后,到了第2行,又回到第1行,继续循环。任何帮助将不胜感激。谢谢。 最佳答案 正确的形式是@synthesizesomeArray=_

ios - 如果显式实现一个 getter,是否仍然创建了 ivar?

我试图了解有关属性的所有情况,主要是自动创建ivar和不自动创建ivar的情况。请告诉我以下情况是否正确:属性是隐式读写的。如果声明了一个readwrite属性,并且getter和setter是都显式实现的,是不是真的不会自动生成ivar?假设声明了另一个读写属性,这次只有getter被显式实现。ivar将自动生成,因为只要属性的两个(getter或setter)之一未明确实现,它就会自动生成。与场景2基本相同,只是这次是显式实现的setter。ivar将自动生成,因为只要属性的两个(getter或setter)之一未明确实现,它就会自动生成。澄清一下,当创建ivar时,它是否总是前面

ios - Objective-C 没有 getter 方法错误

我是Objective-C的新手(以及一般的编程……我只学过Python和一点点HTML)。我正在尝试从教程here中学习但我遇到了一个我似乎无法弄清楚的错误。在Fraction.m中,在-(void)add:(Fraction*)newFraction下,接下来的两行出现错误“Nogettermethodforreadfromproperty”。如果有人能帮助我,那就太好了!任何建议表示赞赏。谢谢,亚当代码:分数演示.m#import"Fraction.h"#importintmain(intargc,constchar*argv[]){@autoreleasepool{Fracti

ios - Xcode 中的 Getters 和 Setters 没有问题

当我查看iOS5开发人员库时,它说我必须为我创建的每个变量包含访问器方法。但是,当我输入@property(weak,nonatomic)NSString*userName;但是,我没有看到任何错误提示我需要“getter”和“setter”。我做错了什么吗? 最佳答案 您不会收到有关需要“getter”和“setter”的消息,因为当编译器“合成”该属性时,会为您创建这些访问器方法。你不必担心他们。当编译器遇到@synthesize指令(在Xcode4.4中,甚至不再需要它)时,将为您创建访问器方法。这在Apple的TheObje

iphone - 使用 getter 访问 Objective-C 中结构实例变量的元素

我有一个实例变量,它是一个结构,例如:structData{UInt32i;UInt32arr[1];};并且在我的类中定义了一个属性:@propertystructDatadata;//andthecorresponding@synthesizeintheimpfile现在,我知道通过data的getter改变i和arr的值是概念上是错误的,因为我将访问getter返回的data的副本(正确的方法是使用self->data访问它)。然而,一些关于以下行的一般Objective-C问题出现了:self.data.i=1;//producescompileerrorself.data.a

objective-c - 如何在保留合成代码的同时向合成的 getter/setter 添加一些代码

例如,我需要在每次调用合成的getter或setter时执行NSLog(@"Executed.")。我看到了2种方法:找到一些可能像合成片段一样工作的片段。Thisthread可能会有所帮助。使用KVO:添加一些将完成工作的观察者。对我来说,所有这些看起来都不令人满意。所以,主题。UPDAE:感谢您的回答,但直接覆盖不是解决方案:我们松开合成代码。如果我们从某个地方(甚至是苹果工程师给我们代码的苹果论坛)“复制粘贴”“正确的”合成代码,我们应该检查它在下一个编译器版本后没有改变。 最佳答案 您可以使用自定义的getter和sette