草庐IT

object-construction

全部标签

ios - 如何在 objective-c 中更改类别中的只读属性

在我的*.h文件中,我有一个只读的foo属性。我通过使用_foo=_foo+1;更新该属性win一些其他公共(public)方法现在我在那个*.h文件上有了类别。我需要更新类别中的foo属性。如果我使用_foo然后我得到Useofundeclaredidentifier'_foo''如果我使用self.foo=5然后我得到Assignmenttoreadonlyproperty我知道我可以通过将foo属性设置为读写来解决这个问题,但我想避免这种情况。问题如何解决?是否可以从类外部将属性设置为只读,但从类和类别内部设置为可读写?这将解决这个问题。 最佳答案

ios - Objective-C 此类与键 findContact 的键值编码不兼容。

我使用thistutorial制作的应用程序出现问题.一切似乎都很好,但是当我构建时,出现错误:2014-08-2811:49:20.038techtopiatut[1551:60b]***Terminatingappduetouncaughtexception'NSUnknownKeyException',reason:'[setValue:forUndefinedKey:]:thisclassisnotkeyvaluecoding-compliantforthekeyfindContact.'如果有人想看项目,那就是here. 最佳答案

作为所有类的顶层父类,没想到Object的魔力如此之大!

写在开头在上一篇博文中我们提到了Java面向对象的四大特性,其中谈及“抽象”特性时做了一个引子,引出今天的主人公Object,作为所有类的顶级父类,Object被视为是James.Gosling的哲学思考,它高度概括了事务的自然与社会行为。源码分析跟进Object类的源码中我们可以看到,类的注释中对它做了一个总结性的注释。在Object的内部主要提供了这样的11种方法,大家可以在源码中一个个的跟进去看,每个方法上均有详细的英文注释,养成良好的看英文注释习惯,是一个合格程序员的必备基础技能哈。/***方法一*/publicfinalnativeClassgetClass()/***方法二*/pu

作为所有类的顶层父类,没想到Object的魔力如此之大!

写在开头在上一篇博文中我们提到了Java面向对象的四大特性,其中谈及“抽象”特性时做了一个引子,引出今天的主人公Object,作为所有类的顶级父类,Object被视为是James.Gosling的哲学思考,它高度概括了事务的自然与社会行为。源码分析跟进Object类的源码中我们可以看到,类的注释中对它做了一个总结性的注释。在Object的内部主要提供了这样的11种方法,大家可以在源码中一个个的跟进去看,每个方法上均有详细的英文注释,养成良好的看英文注释习惯,是一个合格程序员的必备基础技能哈。/***方法一*/publicfinalnativeClassgetClass()/***方法二*/pu

ios - if语句Objective-C中的评估(NSIntegers)

我有疑问,为什么它能正常工作:NSIntegerrow=indexPath.row;NSIntegerpreloadTrigger=self.nodes.count-20;if(row>=preloadTrigger){[self.loaderloadNextposts];}这不会(只是跳过if语句):if(indexPath.row>=self.nodes.count-20){[self.loaderloadNextposts];}当self.nodes.count-20的值为负时。然而,当表达式的值为正数时,它总是工作正常。一个非常奇怪的行为,因为我看不到两个表达式的语义差异。更新

ios - Objective-C : Getting MPMediaItem 'Favorite' property

我正在查看Apple的文档,但我似乎无法找到一种方法来确定MPMediaItem是否是“最喜欢的”轨道。请参见下面的屏幕截图,带有粉红色的心。如何获得这一属性(property)?我知道,由于这是一项新功能,它的可用性将仅限于iOS8.4或更高版本。这是我用来通过音乐选择器从MPMediaItems获取其他属性的一些代码:-(void)processMediaItems:(MPMediaItemCollection*)mediaItemCollection{//iteratethroughselectedsongsif(mediaItemCollection){NSArray*allS

ios - 如何在没有 Objective-c 中的第三方库的情况下向我的字符串显示粗体和斜体

这是我尝试的代码:NSString*strFirst=[NSStringstringWithFormat:@"TheAppfeatureisonlyavailabletouserswhileat"];NSString*strAreaName=kAreaName;NSRangeboldedRange=[strAreaNamerangeOfString:strAreaName];NSMutableAttributedString*newAttString=[[NSMutableAttributedStringalloc]initWithString:strFirst];NSMutableA

ios - 没有使用 objective-c 分配给属性 swift 3 的 setter 方法

我在我的一个swift类中使用以下代码:importUIKitpublicclassBRUFIMobile:NSObject{publicvarmobileNumber:NSString?publicvarprovider:NSString?publicvaraliasName:NSString?publicvaraliasName_en:NSString?@objcpublicvarisDefault:Boolpublicoverrideinit(){self.isDefault=falsesuper.init()}}我的项目同时包含objective-c和swift代码。该代码在x

ios - 使用 Objective-C 从不同的 ViewController 重新加载 TableView

我不确定如何实现这一点,因此我问这个问题。我有2个名为abVC和xyVC的ViewController(VC)。abVC只包含TableView而xyVC只包含一个按钮。当我在xyVC上点击一个按钮时,它应该在abVC中重新加载tableview而不会移动到那个abVC。这可能吗?如果是..那么请帮助我,该怎么做? 最佳答案 你可以用block和NSNotification来做到这一点。使用block,您可以按如下方式实现它:在xyzVC.h中做如下属性:@property(strong,nonatomic)void(^callBa

ios - Objective-C - KVC 是如何工作的?

我正在使用KVC,我想知道它是如何工作的。由于它使用键和值,我可以假设每个对象的self都包含一个字典,其中包含keys=propertiesname和values=setters。因此,当我调用[selfsetValue:aValueforKey:@"aProperty"]时,对象从指向setter方法的键获取哈希值。当然,所有这些都是猜测,以及我将如何利用我的知识来实现​​它。这就是它在引擎盖下的工作原理吗? 最佳答案 从概念上讲,您走在正确的轨道上,尽管它有点复杂。首先,请记住Objective-C是一种动态语言。本质上,每个