草庐IT

properties

全部标签

ios - 使用隐藏属性与私有(private) iVars

这个问题特别关注静态库/框架;换句话说,其他人最终会接触到的代码。我相当精通属性,因为我是在iOS6发布时开始iOS开发的。我已经使用在接口(interface)扩展中声明的隐藏属性来完成我所有的“私有(private)”属性工作,包括在我不希望其他人修改的面向公众的属性上使用readonly和readwrite在界面扩展中。重要的是,我不希望其他使用这些静态库/框架的人在我不允许的情况下访问这些属性,或者在我允许的情况下编写这些属性阅读它。我早就知道他们理论上可以创建自己的接口(interface)扩展并让我的readonly属性自己readwrite,或者猜测隐藏属性的名称。如果我

objective-c - Objective-C - 使用属性获取访问器与直接使用 iVar

我想知道使用(get)访问器读取属性值和直接使用iVar之间到底有什么区别?假设我有一个声明属性的类:@interfaceFoo:NSObject@property(strong)NSString*someString;@end在实现中我正在使用它。以下两行之间是否有任何区别:someLabel.text=self.someString;someLabel.text=_someString;对于集合访问器来说很清楚。Afaik对于强属性,访问者负责保留和释放(一个有趣的“附带问题”是,如果ARC改变了它,即直接设置iVar[假设它不是__weakiVar]也使用ARC正确保留和释放),

iphone - 将所有对象属性放入 NSDictionary 或 NSArray

有没有办法自动返回类中所有(公共(public))属性的NSDictionary?您可以假设所有属性都是属性列表,并且我不想只传递一个指向类本身的指针。有什么现成的魔法可以实现这一目标吗?我知道我可以延迟实例化一个NSDictionary并手动用getter中的属性填充它。 最佳答案 在Objective-C运行时使用class_copyPropertyList和property_getName函数可以轻松获取已声明属性的数组。这是一个这样的实现:-(NSArray*)properties{NSMutableArray*propLi

ios - 将自动释放对象分配给保留属性是否会增加其保留计数?

我原以为“self.data=”会保留自动释放的NSMutableArray对象及其包含的NSMutableDictionary对象,但最终当表的cellForRowAtIndexPath方法尝试访问self.data中的NSDictionaries时,我得到了EXC_BAD_ACCESS。@property(strong,nonatomic)NSMutableArray*data;-(void)updateReceivedData:(NSData*)jsonData{NSMutableArray*fetchedData=[NSJSONSerializationJSONObjectWi

ios - ReactiveCocoa : How do you bind a button's title to a text property?

我有一个UIButton,其状态正常/突出显示的标题应与其容器对象的属性保持同步。如何使用字符串属性为特定状态绑定(bind)按钮标题?编辑:我知道使用RACObserve并更改subcribeNextblock中的按钮标题是一种解决方案。我正在寻找更专门为UIButton设计的东西,例如:RACBindButtonTitle(button,property,state1,state2);不知道有没有这种“RAC糖”。 最佳答案 这是一种无需显式订阅即可实现的方法。应尽可能避免显式订阅,这样您就不必经历整个@weakify(self

iphone - 如果我使用 @property(atomic,retain)NSString *myString 我会遇到问题

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Atomicvsnonatomicproperties如果我使用@property(atomic,retain)NSString*myString会遇到问题(错误),例如在“atomic”之前使用Expectedapropertyattribute。我从StackOverflow问题中研究了原子和非原子之间的区别What'sthedifferencebetweentheatomicandnonatomicattributes?.我在哪里使用原子和非原子?

iphone - 为什么使用属性?

所以我已经使用Objective-C编程一年多了,但我似乎无法理解属性的用途。我在互联网上搜索了几次,但从未真正找到一个好的解释。我了解如何创建它们:@property(something,something)something*variableName;@syntheizevariableName;但是我应该让我所有的实例变量属性。对我来说,据我所知,这似乎是在浪费代码。但是当我在线查看代码时,有时我会在一个类中看到25个属性。我认为这是一种浪费。我唯一一次使用它们是在将信息从选定的UITableView单元格传递到详细信息viewController时。为此,我使用:@proper

iphone - 在 Objective-C 中,什么时候应该使用属性,什么时候应该使用实例变量?

我不熟悉同时具有属性和实例变量的程序语言。所以我不知道使用属性和实例变量的好方法。现在我只在我的Objective-C代码中使用属性,我不使用任何实例变量。我需要使用实例变量吗?或者仅使用属性是Objective-C的最佳实践?@interfaceViewController:UIViewController{//instancevariable@publicinta;}//property@property(nonatomic,strong)NSString*b;@end 最佳答案 变量和属性之间的基本区别在于,您可以为属性赋予属

【解决办法】Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required

目录一、springweb语法出错二、查看数据库有没有链接三、查看数据库里面是否有表内容和列内容四、查看pom.xml的依赖版本是否一一对应五、查看properties(或yml)配置文件有没有语法错误先展示一下我的出错页面:一直在冒Property'sqlSessionFactory'or'sqlSessionTemplate'arerequired错误,并且,没有办法创建controller文件和bean文件刚开始,我尝试查找csdn里面各种办法都行不通,于是开始总结了一下各大基本原因,并得到了解决:一、springweb语法出错查找@autowired及其内部的数据库引用的字母有没有打错

objective-c - 在 PrepareForSegue 中设置属性对于 ViewDidLoad 为空,但稍后会更正

我对此进行了上下搜索,发现了一些相似但不是我的确切问题。在我的详细ViewController中,我有一个segue可以打开一个popovertableviewcontroller。在PrepareForSegue方法中,我设置了TableView的属性,如下所示:-(void)prepareForSegue:(UIStoryboardSegue*)seguesender:(id)sender{if([[segueidentifier]isEqualToString:@"StateSegue"]){popover=[(UIStoryboardPopoverSegue*)seguepop