Tag: 分类

使用iOS类别创build新的颜色

我想创build一些在我的应用程序中使用的新的UIColor 。 时不时的RGB稍微调整(确切的色调正在辩论) 目前,我必须从RGB创build新的颜色,并将代码撒满并重复。 有没有更好的方法,我可以创build一个新的颜色,并通过我的应用程序使用。 [UIColor myNewCustomRedColor] 这里最好的模式是什么 – 类别是正确的select – 如果是这样的话? 如果不是,推荐的方法是什么。

XCode 4.5会警告父/子类的类别之间的方法名称冲突

我正在开发一个最初在XCode 4.0中构build的项目,然后将其迁移到使用XCode 4.2。 现在我已经testing过迁移到XCode 4.5,并且我得到了如下的警告: instance method 'values' in category from <pathToTheFile>/HistoryObject+extras.o conflicts with same method from another category 这些警告从来没有出现在以前版本的XCode中,代码没有改变。 该项目在iOS 4.3中为部署目标设置。 所以,我们从以前的开发人员那里得到了一些DAOtypes类,我相信它们是从CoreData自动生成的,然后每个类都有一个类来扩展它来实现某些方法。 我会举一个例子 我们有一个名为LisaObject的基类,它inheritance自NSManagedObject,它有一个名为LisaObject + extras的类。 在LisaObject + extras中,有一个名为“values”的方法返回一个NSMutableDictionary。 然后我们有一个名为HistoryObject的类从LisaObjectinheritance。 还有一个名为HistroyObject + extras的HistoryObject类别。 这个类别也有一个名为“values”的方法。 在HistoryObject + extras values方法中,它调用[super values],然后检查一些条件并在字典中设置一些未在基类方法中设置的附加值。 然后我们有一个名为LessonStatusObject的类inheritance自HistoryObject,它也有一个名为LessonStatusObject + extras的类,它有一个名为values的方法。 这个值方法也调用[超值],然后在返回的字典上做一些额外的工作。 对于这些“值”方法中的每一个,我们都会在编译时得到一个警告,就像上面显示的类别中有一个名称相冲突的方法一样。 我有几个关于这个问题。 首先,这个实施是否会导致任何合法的问题,还是这些警告总体上是良性的? 我试图想到这个实现如何在运行时造成模糊,但我不明白这是怎么发生的。 其次,有什么我应该做的,以解决这些警告(我不是说只是让他们停止出现,我的意思是纠正原因)? 还有其他的方法我们应该这样做吗? 另外,为什么XCode 4.2不会提醒这个问题,但是XCode 4.5会提示呢? 我误解了关于类别的东西吗? 我的意思是,如果“values”方法实际上是每个类实现的一部分,那么按照我们的方式覆盖它们就不是问题,但是编译器似乎只是因为这些类是抱怨而已。 […]

目标-C-类别和协议的目的

我一直在阅读Objective-c协议和类别,对我来说都显得毫无意义。 它们都用于以一些有趣的方式添加事件到程序中,而不是仅仅手动添加它。 我可能会相信看到这个协议的目的是为了让你可以检查id的types,但是这真的是关于它的。 我看不到其他真正的用途。 至于类别,我真的不明白你为什么不把它们添加到代码。 为什么你需要手动指定你将要实现的类别中的方法,而不是只是正常地执行? 是不是你可能想做一个“子类”,但稍作修改? 为什么不只是创build一个子类呢? 我真的没有看到这些的目的,我希望有人能告诉我他们真正的用途= / 先谢谢了,基督徒