草庐IT

Getters-Setter

全部标签

ios - 理解 subview.center = view.center 是如何工作的以及为什么 getter 和 setter 做不同的事情

我看到很多代码解释了如何在View中居中subview。代码示例通常是这样的:SubView.center=view.center;有人可以向我解释一下这是如何工作的吗?我就是不明白。view.center给出View的中心点。例如宽度为100,高度为100,它会返回(50,50)。我明白了。设置subview.center对我来说很奇怪。subview.center将返回subview的中心点。不知何故,将其设置为(50,50)会将其父View中的subview定位到50/50的坐标。但是如果subview本身的宽度为50且高度为50,则访问此属性将返回(25,25)。明白我的意思吗

objective-c - 何时重写 objective c getters

在过去的一年中,我第一次与其他人一起参与了一些Objective-C项目。偶尔(而且越来越多)我看到其他人覆盖getter/accessor方法,并在此方法中包含实现代码!对我来说,这是一个疯狂的小镇,因为这是拥有setter的全部意义……这也意味着在setter中设置的属性将在getter中被覆盖,因此毫无意义。是这些人行为不端,还是我错过了什么?是否需要覆盖合成属性的getter方法?例子:@synthesizewidth;-(CGFloat)width{NSNumber*userWidth=[[NSUserDefaultsstandardUserDefaults]objectFo

【Vuex状态管理】Vuex的基本使用;核心概念State、Getters、Mutations、Actions、Modules的基本使用

目录1_应用状态管理1.1_状态管理1.2_复杂的状态管理1.3_Vuex的状态管理2_Vuex的基本使用2.1_安装2.2_创建Store2.3_组件中使用store3_核心概念State3.1_单一状态树3.2_组件获取状态3.3_在setup中使用mapState4_核心概念Getters4.1_getters的基本使用4.2_getters第二个参数4.3_getters的返回函数4.4_mapGetters的辅助函数5_核心概念Mutations5.1_使用5.2_Mutation常量类型5.3_mutation重要原则6_核心概念Actions6.1_基本使用6.2_分发操作6.3

ios - getter 和 setter 不工作 objective-c

我不能在objective-c中这样做吗?@interfaceFoo:NSObject{intapple;intbanana;}@propertyintfruitCount;@end@implementationFoo@synthesizefruitCount;//withoutthiscompilererrorswhentryingtoaccessfruitCount-(int)getFruitCount{returnapple+banana;}-(void)setFruitCount:(int)value{apple=value/2;banana=value/2;}@end我正在使

ios - 使用 iOS 7.1 的 UIImageView 子类中的 setter/getter 的不同行为

自iOS7.1beta5以来,我的小插件出现了一个奇怪的错误:link我的插件是UIImageView的子类,在这个类中我有另一个UIImageView叫做img。我重写了image的setter和getter:-(void)setImage:(UIImage*)image{self.img.image=image;}-(UIImage*)image{return_img.image;}所以NSLog(@"%@",self.image)返回_img.image,我没问题。NSLog(@"%@",[superimage])返回(null),我没事。问题是iOS7.0self不显示图像,但

ios - 观察属性或覆盖 setter 更好吗?

假设我们有这个CustomButton接口(interface):@interfaceCustomButton:UIButton@property(nonatomic,assign)CGFloatminWidth;@end每次minWidth改变时,我们都想重新布局我们的CustomButton。据我所知,我们有两种解决方案:观察属性值//In-initWithFrame:[selfaddObserver:selfforKeyPath:@"minWidth"options:0context:nil];//In-observeValueForKeyPath:ofObject:change

iphone - 如何干净地覆盖属性 setter ?

如果我想定义一个自定义的UIView子类,它在设置边界时执行某些操作,我该如何覆盖setter?覆盖setBounds似乎很危险,因为如果我理解正确的话,getter和setter名称不是公共(public)接口(interface)的一部分,可能随时更改。当然,我使用class_copyPropertyList在运行时查询类中定义的属性列表,然后查询setter的名称,最后使用class_addMethod添加方法,首先获取对前面方法的引用用于调用原始版本。所有这些看起来都很老套。有没有一种干净的方法来做我想做的事情,保证不会在未来的操作系统版本上中断?谢谢。

ios - 为 BOOL 变量编写 getter 和 setter

显然,对于obj-c,通常没有理由编写getter和setter(感谢有用的mr@synthesize)。所以现在,需要这样做,我遇到了我不知道如何编写它们的问题。:p我确定我可能不会以正确的方式解决我的问题-将我的对象子类化会容易得多-但我正在尝试编写类别代码来添加属性,因为(在开始)它更快,因为我想学习如何在我的应用程序中使用类别代码。我有这个:-(BOOL)isMethodStep{returnself.isMethodStep;}-(void)setIsMethodStep:(BOOL)theBoolean{if(self.isMethodStep!=theBoolean){s

ios - objective-c 中复制属性的自定义 setter

我是否必须在自定义setter中使用objective-c中的复制属性手动复制对象?例如,我有一个属性(property):@property(copy,nonatomic)NSString*someString;和自定义二传手:-(void)setSomeString:(NSString*)someString{//option1_someString=someString;//option2_someString=[someStringcopy];//dootherstuff}选项1是否足以用于自定义setter,或者我必须改用选项2才能复制对象? 最佳

swift - SKEase action,如何使用Float changing Action Setter Block?

在以下用例中,我尝试为SKShapeNode的lineWidth设置动画。SKEase属于精彩SpriteKitEasing来自CraigGrummitt的github存储库。它的一个功能是float更改缓动Action,它似乎会随时间改变float的值。但是我不知道如何使用它。Xcode在输入时给出以下建议:letlineWeight=SKEase.createFloatTween(Void))对于此库中的其他SKEase操作,Xcode对轻松类型非常有帮助,并有助于确定要输入的内容。有了这个,我不知道AHEasingFunctions有哪些选项...我可能会找到。但我完全不知道最后