小编adu*_*ubr的帖子

使用超类'实例初始化对象

假设有一个Superclass这个类的实例superclassObject.
我创建了一个派生的ClassA.

如何classAObject以这种方式实例化(初始化)派生类的对象,所有继承的字段都等于superclassObject

当然,我可以循环遍历所有字段并手动复制值classAObject.property = [superclassObject.property copy].但是这种方法的问题在于我可能不知道(或无法访问)超类的所有ivars /属性.有更简单(更通用)的方式吗?

似乎我错过了一些非常基本的东西......

我正在尝试这样做,因为我得到了一个已经初始化的UIView(带框架,背景颜色,自动调整遮罩等),我想用我的自定义视图替换它具有相同的参数.

更新1

我发现了这个问题,那里的答案就是这么说的

通常不支持任何OO语言

然而

在Objective-C中,在某些情况下是可能的

好吧,如果它支持,我该怎么办?如果支持的,我怎么能做到这一点?

更新2

我似乎找到了解决这个一般问题的特殊情况的解决方案,我将在明天测试并报告.

然而,这引出了另一个想法:如果我使用NSCoder对其进行编码superclassObject(如果它<NSCoding>当然是实现的话),然后[[ClassA alloc] initWithCoder:coder]使用知道来自编码数据的编码器进行调用,该superclassObject怎么办?免责声明:嗯,我不熟悉编码概念(甚至根本不熟悉),所以可能最后一句话是胡说八道.

inheritance copy initialization objective-c superclass

17
推荐指数
1
解决办法
3627
查看次数

测试iPhone视图控制器:从哪里开始?

在开发应用程序时,我意识到我想要在应用程序"外部"测试我的视图控制器(以及其他对象).我发现了一篇关于测试视图控制器的好文章,但遗憾的是,我根本不熟悉任何类型的软件测试.因此,几乎所有写在那里的东西都有点令人困惑.我正在寻找一个好的起点,这是我的问题:

  1. 我想在阅读一般测试方面会更有用.你会推荐什么?
  2. iOS特定信息怎么样?在教程的OCUnit(这是现在集成在Xcode),OCMock(这是在博客中提到的),UIAutomation
  3. 我是否能够"运行"单独的视图控制器,如独立的应用程序(点击按钮,键入文本字段等),而无需明确制作此类应用程序?我可以用什么工具来达到这个目的?
  4. 你个人对此有何看法?

user-interface unit-testing uiviewcontroller ios

9
推荐指数
1
解决办法
4721
查看次数

为什么UIViewController是UIResponder的子类?

制作UIViewController子类的目的是UIResponder什么?仅仅是为了通过轮换活动吗?

我在文档中找不到任何明确的信息.

更新

我知道,如果做了UIResponder某件事,那么这个东西应该被包含在响应者链和处理事件中.但我有两个疑惑.

  1. 据我所知,UIViewController在它之后立即进入响应链view.为什么我们需要响应链的视图控制器呢?它view已经存在,那么为什么我们不让视图处理其子视图未处理的事件?
  2. 好的,我准备同意我们可能需要这个.但我希望看到一些真实的例子,当真正需要在视图控制器中处理事件时,这是最好/最简单/最合适的方法.

uiviewcontroller uiresponder ios

8
推荐指数
1
解决办法
6684
查看次数

多个NSArray枚举

假设我有三个相同大小的数组.我必须对所有物体做点什么.如果我使用标准C数组,我会写类似的东西

for (i = 0; i < size; i++) {
    doSomething(array1[i]);   // or [[array1 objectAtIndex:i] doSomething];
    doSomethingElse(array2[i]);   // or [[array2 objectAtIndex:i] doSomethingElse];
    doSomethingReallySpecial(array3[i]);   // or [[array3 objectAtIndex:i] doSomethingReallySpecial];
}
Run Code Online (Sandbox Code Playgroud)

使用Objective C,我们有更多的方法来遍历NSArray中的对象:快速枚举,基于块的枚举和使用枚举器.我应该使用哪一个?为什么?有什么不同?

编辑
实际上这个问题可能是这样形成的:如果需要使用数组项的索引,应该使用哪个枚举?

arrays enumeration objective-c nsarray

5
推荐指数
1
解决办法
1478
查看次数