草庐IT

Getter-Setter

全部标签

ios - EXC_BAD_ACCESS 属性崩溃的 getter 方法

我已经声明了一个属性someProperty并合成了它:@synthesizesomeProperty=_someProperty;但是当我在代码中调用它时,我在我的getter覆盖方法中得到了EXC_BAD_ACCESS。为什么??-(NSString*)someProperty{ 最佳答案 我认为您可能遇到了StackOverflow!因为行if(!self.someProperty)会打电话-(NSString*)someProperty递归直到递归栈溢出。同样,如果它能到达返回线,它也会做同样的事情。

ios - 无法为 NSObject 或 WKInterfaceController 的属性指定 setter 'setTitle:'

我正在尝试设置一个WKInterfaceTable。我跟着苹果文档。我的标签没有收到文本,我在控制台中收到此错误消息:Cannotspecifysetter'setTitle:'forpropertiesofNSObjectorWKInterfaceController我该如何解决这个问题?请使用Objective-C。这是我的代码:.h#import#import@interfaceMainRowType:NSObject@property(strong,nonatomic)IBOutletWKInterfaceImage*image;@property(strong,nonatom

ios - 当我试图覆盖 getter 时,这个语法是什么?

当我试图覆盖getter时,这是什么语法??我只是想了解更多有关属性在Objective-C中的工作原理的信息。这是我的属性(property):@property(nonatomic,strong)UIView*myView;当我尝试覆盖getter时,我得到了帮助:-(void)getMyView:(**)bufferrange:(NSRange)inRange{}我知道我可以使用这个:-(UIView*)myView{}但我只是想知道以前的方法是做什么的,为什么会这样等等。感谢您的帮助! 最佳答案 如Key-ValueCodi

ios - 在 Xcode 中验证资源并为 iOS 应用程序生成 getter 代码

我正在寻找一种可以在iOS应用程序中验证我的图像和字体的工具。问题:我们的应用程序中有很多不同的图像和字体。有时,其中一些文件会被替换或重命名。我们不会收到编译警告或错误,只是缺少散布在应用程序周围的图像。我想这是ObjectiveC动态特性的一部分,但我真的很想在这里进行一些静态检查。是否存在可以验证内容或自动生成getter代码的工具?(最好开源)谢谢! 最佳答案 警告:前方无耻的self推销:我们已经创建了一个工具IDAssetManager(但不是开源的),它可以创建资源的静态接口(interface)。该工具与Xcode高

objective-c - 覆盖类类别中的属性 setter

我有一个NSManagedObject类,我想覆盖一个setter,但我被告知最好不要修改自动生成的类文件并创建类别来扩展它们(因为如果您更改模型并重新生成文件,您将丢失所有添加的内容)。如果我为类别中的setter创建一个方法,它肯定会运行该方法(使用NSLog测试),但我不知道如何分配实际的属性值。通常,我会使用合成属性@synthesizefinished=_finished;这样我就可以使用_finished访问setter中的属性,如下所示:-(void)setFinished:(NSNumber*)finishedValue{_finished=finishedValue;

ios - 如何从异步属性的 getter 返回?

我已经覆盖了一个请求在线服务以获得结果的getter。如何强制getter仅从同步块(synchronizedblock)返回结果?@interfaceMyClass()@property(nonatomic,strong)NSMutableDictionary*myDictionary;@end@implementationMyClass-(NSMutableDictionary*)myDictionary{dispatch_async(queue,^{/*performonlinerequest*/dispatch_sync(dispatch_get_main_queue(),^{

objective-c - 无法使用 XCode 4.5 覆盖属性 getter

在Xcode4.5中使用一些旧的示例代码时,我遇到了一些问题。在我的代码中定义了以下属性@property(readonly,strong,nonatomic)NSManagedObjectModel*managedObjectModel;然后我有以下访问器方法:-(NSManagedObjectModel*)managedObjectModel{if(_managedObjectModel!=nil){return_managedObjectModel;}NSURL*modelURL=[[NSBundlemainBundle]URLForResource:@"MyPrototype"

objective-c 属性 - getter 和 setter

在UIView子类中我有这个属性:@property(nonatomic)CGFloatscale;#defineDEFAULT_SCALE0.90还有这个getter和setter:-(CGFloat)scale{if(!self.scale){returnDEFAULT_SCALE;}else{returnself.scale;}}-(void)setScale:(CGFloat)scale{if(scale!=self.scale){self.scale=scale;[selfsetNeedsDisplay];}}这是不正确的,因为例如检查getter中的self.scale会导

objective-c - 什么时候在 objective-c 中使用 setter 属性 'copy'?

我知道通常您对NSString使用copy,这样您的属性就会保持与您分配它时相同的值,即使在其他地方尝试重新设置它时也是如此。但我很难完全理解这个概念。这不是基本上适用于任何类型的对象(不仅仅是NSStrings)吗?所以我的问题是,“我应该将哪种属性设置为‘复制’,为什么?” 最佳答案 对象是简单的数据位,如字符串,不会引用应用程序中的大量其他对象,非常适合复制。当然,现在您可以保留字符串之类的东西。这会很好用。但是,如果您有一个可变字符串,并且您修改了它会怎样。现在,引用该字符串的所有其他对象都将看到该修改。这可能不是你想要的。

arrays - swift 语法 : index of array element accessed in setter?

假设我有一个带有didSet的字符串数组:varbar:[String]=[]{didSet{println("Setto\(bar)")}}设置一些元素给我们:bar=["Hello","world"]//Setto[Hello,world]bar[0]="Howdy"//Setto[Howdy,world]问题:在我的didSet中,如何获取已设置元素的索引? 最佳答案 您不能直接访问已更改元素的索引,部分原因是在特定索引处设置新值只是触发didSet处理程序的一个操作。任何变异方法都会导致调用:bar=["Hello","wo