草庐IT

MyProperty

全部标签

objective-c - 将保留属性设置为新创建的对象的最佳方法

在保留属性中创建对象的最佳方式是什么?我已经包括了几个例子。假设属性是:@property(nonatomic,retain)myProperty;@synthesizemyProperty=_myProperty;选项1:self.myProperty=[[[MyClassalloc]init]autorelease];选项2:self.myProperty=[[MyClassalloc]init];[self.myPropertyrelease];选项3:_myProperty=[[MyClassalloc]init];选项4:MyClass*property=[[MyClassa

ios - 如何在使用隐式动画对 CALayer 进行动画处理时继承动画属性

我正在尝试使用隐式动画为CALayer上的自定义属性设置动画:[UIViewanimateWithDuration:2.0fanimations:^{self.imageView.myLayer.myProperty=1;}];在-actionForKey:方法中,我需要返回负责插值的动画。当然,我必须以某种方式告诉动画如何检索动画的其他参数(即duration和timingfunction)。-(id)actionForKey:(NSString*)event{if([eventisEqualToString:@"myProperty"]){CABasicAnimation*anim

在 super.init 之前在表达式中使用初始化属性的 Swift 错误

这并不重要,也有解决方法,但它令人困惑。请参阅下面的最小示例。我指的是一个已初始化的属性,但在调用super.init()之前。为什么下面指示的语句有编译错误?在表达式的右手和左手使用属性有什么特别之处吗?我查看了Swift语言指南,但找不到任何相关内容。swift编译器是不是在这里搞砸了,还是我遗漏了一些关于属性、self和初始化的东西?还是应该在调用super.init之前所有对“myProperty”的引用都是错误的?(请注意,无论属性是常量(使用“let”)还是其他类型,如Int,都没有关系——同样的事情也会发生。)classMyClass:NSObject{varmyProp

ios - 在 Swift 中处理未捕获的异常 valueForUndefinedKey

我有一个第三方库类,它的源代码不对我开放。例如像这样:classMyClass:NSObject{letmyProperty=10}我可以像这样获取myProperty值。lettest=MyClass().value(forKey:"myProperty")//10我想检查myProperty是否存在于MyClass中。原因是我不希望我的应用程序在3rd方类实现将来发生变化时崩溃。为了测试我试过了guardlettest=MyClass().value(forKey:"myProperty1")else{return}//crashiflettest=MyClass().value(

core-data - 检查零核心数据属性导致 EXC_BAD_ACCESS

我有一个简单的NSManagedObject子类:@objcclassMyModel:NSManagedObject{@NSManagedvarmyProperty:String}但是,下面的代码:varmodel=NSEntityDescription.insertNewObjectForEntityForName("MyModel",inManagedObjectContext:managedObjectContext)asMyModelassert(model!=nil)//passesifmodel.myProperty!=nil{//crashesprintln("notni

swift - Swift 中 willSet 和 didSet 的目的是什么?

Swift的属性声明语法与C#非常相似:varfoo:Int{get{returngetFoo()}set{setFoo(newValue)}}但是,它还有willSet和didSet操作。它们分别在调用setter之前和之后调用。考虑到您可以在setter中使用相同的代码,它们的目的是什么? 最佳答案 重点似乎是有时,您需要一个具有自动存储和某些行为的属性,例如通知其他对象该属性刚刚更改。当您只有get/set时,您需要另一个字段来保存值。使用willSet和didSet,您可以在修改值时采取行动,而无需其他字段。例如,在那个例子

swift - Swift 中 willSet 和 didSet 的目的是什么?

Swift的属性声明语法与C#非常相似:varfoo:Int{get{returngetFoo()}set{setFoo(newValue)}}但是,它还有willSet和didSet操作。它们分别在调用setter之前和之后调用。考虑到您可以在setter中使用相同的代码,它们的目的是什么? 最佳答案 重点似乎是有时,您需要一个具有自动存储和某些行为的属性,例如通知其他对象该属性刚刚更改。当您只有get/set时,您需要另一个字段来保存值。使用willSet和didSet,您可以在修改值时采取行动,而无需其他字段。例如,在那个例子

c# - 为什么在 C# 中使用泛型约束

我在MSDN上阅读了一篇关于C#泛型的优秀文章。我脑海中浮现的问题是——我为什么要使用通用约束?例如,如果我使用这样的代码:publicclassMyClasswhereT:ISomething{}我不能用ISomething切换这个类中对T的所有引用吗?使用这种方法有什么好处? 最佳答案 你问,“我不能用ISomething切换这个类中对T的所有引用吗?”所以我认为你的意思是比较:publicclassMyClasswhereT:ISomething{publicTMyProperty{get;set;}}与:publicclas

c# - 为什么在 C# 中使用泛型约束

我在MSDN上阅读了一篇关于C#泛型的优秀文章。我脑海中浮现的问题是——我为什么要使用通用约束?例如,如果我使用这样的代码:publicclassMyClasswhereT:ISomething{}我不能用ISomething切换这个类中对T的所有引用吗?使用这种方法有什么好处? 最佳答案 你问,“我不能用ISomething切换这个类中对T的所有引用吗?”所以我认为你的意思是比较:publicclassMyClasswhereT:ISomething{publicTMyProperty{get;set;}}与:publicclas

使用 get/set 的 C# 线程安全

这是C#的详细问题。假设我有一个带有对象的类,并且该对象受锁保护:ObjectmLock=newObject();MyObjectproperty;publicMyObjectMyProperty{get{returnproperty;}set{property=value;}}我希望轮询线程能够查询该属性。我还希望线程偶尔更新该对象的属性,有时用户可以更新该属性,并且用户希望能够看到该属性。以下代码能否正确锁定数据?ObjectmLock=newObject();MyObjectproperty;publicMyObjectMyProperty{get{lock(mLock){ret