草庐IT

dynamic-properties

全部标签

objective-c - 核心数据 "use scalar properties for primitive data types"复选框

在创建NSManagedObject对象期间,我应该何时检查“对原始数据类型使用标量属性”?我会花多少钱(我的数据库会提高性能还是更轻量级)? 最佳答案 在iOS5和OSX10.7之前,标量属性无法自动生成,您必须添加setter和getter实现,这会导致一些损失。自动生成的属性得到优化。我不知道有任何其他处罚。标量和非标量属性在DB中由相同的类型表示,因此DB的大小不会发生变化。您应该根据访问这些属性的方式来选择何时使用标量。例如,如果要将标量属性添加到集合(NSArray、NSSet、NSDictionary)中,则需要将标量

ios - 无法从 Objective-C : "Property not found on object of type" 访问 Swift 4 类

使用最新的Xcode9测试版,我似乎完全无法访问Swift类的属性。更奇怪的是,我可以访问类本身来实例化它或其他什么,但完全无法访问它的属性。如果我有这个Swift类:importUIKitclassTestViewController:UIViewController{varfoobar=true}我尝试这样做:TestViewController*testViewController=[[TestViewControlleralloc]init];//successtestViewController.foobar;//error我到底做错了什么?使用Xcode9的新项目。

objective-c - ARC时代的属性(property)与ivar

据我了解,现在设置ivar会保留分配给它的对象,因为设置变量默认为strong限定符。因为ivars在声明它们的对象的范围内,而strong将对象保留在变量的范围内,这意味着当包含ivar的对象仍然存在时,永远不会释放ivars值。这对吗?如果是这样,我是否认为在内存管理方面,保留(强)属性和简单ivar之间不再有区别? 最佳答案 如果是变量:在使用ARC的类中声明.仅用于类实现(不作为类接口(interface)的一部分公开)。不需要任何KVO.不需要任何自定义getter/setter。然后将其声明为没有相应@property/

objective-c - @dynamic 在 Objective-C 中做了什么?

这个问题在这里已经有了答案:@synthesizevs@dynamic,whatarethedifferences?(8个回答)关闭8年前。Objective-C有一个称为@dynamic的功能。Google仅列出有关动态类型的结果。我很少在代码中看到这个,我不明白它的用途。谁能给我解释一下?谢谢。 最佳答案 @dynamic的意思是“我的类(class)将在运行时弄清楚如何对此做出响应。”使用对象的运行时机制来拦截它通常不会响应的消息。在CoreDatadb用于存储持久数据的情况下,NSManagedObject将这些转换为对-v

objective-c - Xcode 警告 "Property access results unused - getters should not be used for side effects"

我在调用本地例程时收到此警告。我的代码是这样的:-(void)nextLetter{//NSLog(@"%s",__FUNCTION__);currentLetter++;if(currentLetter>(letters.count-1)){currentLetter=0;}self.fetchLetter;}我在self.fetchLetter语句中收到警告。该例程如下所示:-(void)fetchLetter{//NSLog(@"%s",__FUNCTION__);NSString*wantedLetter=[[lettersobjectAtIndex:currentLetter

objective-c - Objective-c 中的 "instance variable"和 "property"之间有区别吗?

Objective-c中的“实例变量”和“属性”有区别吗?对此我不太确定。我认为“属性”是具有访问器方法的实例变量,但我可能想错了。 最佳答案 属性是一个更抽象的概念。实例变量实际上只是一个存储槽,就像结构中的一个槽。通常其他对象不应该直接访问它们。另一方面,属性是可以访问的对象的属性(听起来很模糊,但应该如此)。通常一个属性会返回或设置一个实例变量,但它可以使用来自多个或根本不使用的数据。例如:@interfacePerson:NSObject{NSString*name;}@property(copy)NSString*name

objective-c - ARC : strong or retain? 的@property 定义

使用Xcode4.2和ARC,我注意到自动生成的NSManagedObject代码对于属性仍然是这样的:@property(nonatomic,retain)NSString*someString;1)现在不应该将retain替换为strong或weak吗?2)为什么自动生成的代码还是使用retain3)在此属性语句中,retain的正确替换是什么?我目前正在使用NSFetchRequest调试一个问题,我认为这可能是问题的根源。想法? 最佳答案 1)Shouldn'tretainnowbereplacewithstrongorwe

objective-c - 错误 : writable atomic property cannot pair a synthesized setter/getter with a user defined setter/getter

我最近尝试编译一个较旧的Xcode项目(以前编译得很好),现在我看到了很多这种形式的错误:error:writableatomicproperty'someProperty'cannotpairasynthesizedsetter/getterwithauserdefinedsetter/getter导致这些错误的代码模式总是如下所示://Interface:@property(retain)NSObject*someProperty;//Implementation:@synthesizesomeProperty;//toprovidethegetter-(void)setSomeP

objective-c - @synthesize 与 @dynamic,有什么区别?

用@dynamic或@synthesize实现@property有什么区别? 最佳答案 @synthesize将为您的属性生成getter和setter方法。@dynamic只是告诉编译器getter和setter方法不是由类本身实现的,而是由其他地方实现的(比如父类(superclass)或将在运行时提供)。@dynamic的用途是例如使用NSManagedObject(CoreData)的子类,或者当您想要为未定义为socket的父类(superclass)定义的属性创建socket时。@dynamic也可用于委派实现访问器的责

python - 使用 @property 与 getter 和 setter

这个问题在这里已经有了答案:What'sthepythonicwaytousegettersandsetters?(8个回答)关闭24天前。@property表示法与经典的getter+setter相比有什么优势?程序员应该在哪些特定情况/情况下选择使用其中一种?带属性:classMyClass(object):@propertydefmy_attr(self):returnself._my_attr@my_attr.setterdefmy_attr(self,value):self._my_attr=value没有属性:classMyClass(object):defget_my_a