草庐IT

Getter-Setter

全部标签

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

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

iOS - 更改 UIImageView setImage 的行为 : (custom setter)

每当设置UIImageView的图像时,我想执行其他任务。我正在尝试定义自定义setter方法,但没有成功。:@property(nonatomic,strong,setter=setImage:)UIImage*image;米:-(void)setImage:(UIImage*)image{self.image=image;//additionaltaskshere}这显然会导致无限循环。我该怎么做? 最佳答案 代替self.image=image;做[supersetImage:image];此外,您不需要指定setter,因为

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

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

Vue响应式系统是如何利用getter / setters和Proxies机制实现的?

Vue.js是一款流行的JavaScript前端框架,它通过使用getter/setters和Proxies机制来实现响应式系统。这个功能是Vue.js的核心特性之一,它允许开发者以声明式的方式管理视图和数据的同步更新。在介绍Vue.js的响应式系统之前,先来了解一下什么是响应式系统。简单来说,响应式系统是指当数据发生变化时,系统能够自动地检测到这个变化,并更新相关的视图。在传统的前端开发中,我们常常需要手动更新视图,例如在数据发生变化时手动调用渲染函数或操作DOM元素。而Vue.js的响应式系统则可以自动地完成这些工作,使得开发者能够更专注于业务逻辑的实现。Vue.js的响应式系统是通过利用

ios - Swift 2,带有 Objective-C 选择器 'setOn' 的方法 'setOn:' 与具有相同 Objective-C 选择器的 'on' 的 setter 冲突

Swift2,我有一个继承自objc的UIView的类,它有“on”变量,以及相关的方法“setOn:animated”和“setOn:”,如下所示:publicclassAView:UIView{varon:Bool=falsepublicfuncsetOn(on:Bool,animated:Bool){self.on=on//dosomethingmoreaboutanimating}publicfuncsetOn(on:Bool){setOn(on,animated:false)}我收到一条错误消息:带有Objective-C选择器“setOn:”的方法“setOn”与具有相同O

ios - NSManagedObject setter 给我 [ MyObject setName :]: unrecognized selector sent to instance

我通过xcode编辑器菜单创建了一个NSManagedObject。我的对象只有一个属性“名称”。当我尝试设置属性时,我得到“[MyObjectsetName:]:unrecognizedselectorsenttoinstance”MyObject*thing=[MyObjectobjectFromJSONDictionary:obj];thing.name=obj;我已检查我的属性“名称”在CD中与在我的类(class)中相同。我的接口(interface)属性也是一样的。和我的动态属性是一样的。@property(nonatomic,retain)NSString*name;@d

ios - 如何在 Objective-C 中延迟设置 BOOL 属性

我需要数据结构上的BOOL属性,代表数据库中某个对象的状态,我想延迟设置该属性——也就是说,我不想在需要时对数据库执行ping操作,并且只在那个时候设置属性(即,我第一次得到它)。对于像NSString这样的东西,我会做一个像-(NSString*)myString{if(!_myString){//askdbforvalue_myString=[valuereturnedfromdb]}return_myString;}但在Objective-C中,BOOL似乎默认为NO——这意味着我永远不知道该值实际上是否为NO,或者我只是还没有得到它。我四处寻找,但我似乎无法弄清楚如何为这样的属

ios - 使用 arc 和 dynamic 属性覆盖 setter

我需要在setter方法中做一些额外的事情。但是这样做时我得到了一个无限循环:我有一个核心数据对象@interfaceTransaction:NSManagedObject@property(nonatomic,retain)NSDate*date;@end@implementationTransaction@dynamicdate;-(void)setDate:(NSDate*)date{self.date=date;//additionalstuffomitted}所以,在这种情况下,我得到了一个无限循环。好的,所以我在网上搜索并按以下方式修改了我的代码,对于每个版本我都会遇到编译

php - 自动生成 Doctrine 的 get set 方法

我正在使用Doctrine我必须制作很多模型,如果我不必手动完成所有操作就好了。我这样设置和属性:/***@varstring$name**@Column(name="Name",type="string",length=100,nullable=false)*/private$name;get&set方法由信息组成,这些信息完全包含在属性声明中。那么有没有人知道有什么工具可以从属性声明中生成如下所示的getset方法。/***Setname**@paramstring$name*@returnUser*/publicfunctionsetName($name){$this->name