小编Ste*_*ion的帖子

如何阻止超类方法被调用到子类

我正在使用子类扩展类的功能,并且我正在做一些使子类的上下文中的超类方法变得危险(应用程序将在循环中挂起)的脏东西.我知道这不是一个天才的想法,但是我会选择低调的果实,现在它会节省我一些时间.哦,这是一份肮脏的工作,但有人必须这样做.

最重要的是,我需要从外部阻止该方法,或者在直接调用超类时抛出异常.(但我仍然从子类中使用它,除非小心).

最好的方法是什么?

更新---

所以这就是我的目标.我不是自我回答,因为Boaz的回答提到了多种有效的方法,这就是适合我的方式.在子类中,我重写了这样的方法:

- (int)dangerousMethod
{
  [NSException raise:@"Danger!" format:@"Do not call send this method directly to this subclass"];
  return nil;
}
Run Code Online (Sandbox Code Playgroud)

我将此标记为已回答,但显然这并不意味着它已经结束,欢迎进一步的建议.

cocoa objective-c

5
推荐指数
2
解决办法
2989
查看次数

Shark:如何过滤到一个特定的方法

我是Shark的新手,我想知道是否可以将时间样本缩小到一个特定的方法?

假设我只是为了它而知道在调用所有NSArray(或子类)实例的方法'count'时使用了多少资源.

cocoa profiling objective-c shark

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

如何使用OpenGL ES 1绘制虚线?

要在OpenGL中绘制虚线,我可以使用glLineStipple,但是如何在OpenGL ES 1中实现相同的效果呢?

opengl-es

4
推荐指数
1
解决办法
5415
查看次数

opengl:如何避免纹理缩放

如何应用始终保持其原始比例的重复纹理(纹理中的1个像素=屏幕上的1个像素),而不管其应用的顶点数据如何.

我意识到这不是最常见的任务,但可以轻松设置opengl来做到这一点,还是我需要将某种掩模应用于尊重其原始外观的顶点数据?

编辑:在我的具体情况下,我试图绘制不同大小的2D椭圆,具有相同的像素模式.椭圆形由三角形扇形成,我很难在其上绘制任何类型的重复纹理.我希望有一些opengl配置组合可以很容易地做到这一点.此外,现在我意识到重要的是要提到我正在使用opengles,因为iPhone不可用.

opengl-es

3
推荐指数
1
解决办法
8051
查看次数

python:如何生成位图?

使用Python生成位图的最简单方法是什么?

文本支持会很好,但不是必需的.

(在Mac上,我试图通过Python使用Quartz,但Snow Leopard似乎已经破坏了它的功能.因此我决定寻找一个坚实,简单,跨平台的解决方案,每次操作系统都不会破坏更新.)

python bitmap

3
推荐指数
1
解决办法
3043
查看次数

OpenGL ES视图:如何将其定位到景观?

寻找关于定位OpenGL ES应用程序的线索,我发现的大多数信息可以追溯到2008年,其中大部分都是指SDK的早期版本.显然,在过去的日子里,在GL的情况下,建议不要旋转视图,而是将旋转应用为GL变换.目前的SDK仍然如此吗?简单地旋转窗口会简单得多:所有触摸事件都与旋转同步.

换句话说:如何在横向模式下设置OpenGL视图?

iphone opengl-es ios

3
推荐指数
2
解决办法
5755
查看次数

方法:多个参数或结构?

我注意到,通过查看Apple的示例代码,他们倾向于设计接收结构而不是多个参数的方法.这是为什么?就易用性而言,我个人更喜欢后者,但就性能而言,是否有比另一种更好的选择?

[pencil drawPoint:Point3Make(20,40,60)]
[pencil drawPointAtX:20 Y:50 Z:60] 
Run Code Online (Sandbox Code Playgroud)

objective-c

2
推荐指数
1
解决办法
628
查看次数

如何编码/解码对选择器的引用?

我有一个类,其中包含SEL类型的实例变量,它是对选择器的引用.在encodeWithCoder/initWithCoder里面,我该如何编码/解码这种类型的变量?

iphone cocoa

2
推荐指数
1
解决办法
290
查看次数

标签 统计

cocoa ×3

objective-c ×3

opengl-es ×3

iphone ×2

bitmap ×1

ios ×1

profiling ×1

python ×1

shark ×1