小编Amo*_*kar的帖子

当屏幕刷新时,应该使用什么算法来决定重绘哪些行?

我制作了一个简单的基于iOS View的应用程序,可以让你在屏幕上绘制和擦除.我正在使用NSMutableArray存储已绘制的路径.每次我将控件从标记切换到橡皮擦或反之,我将当前的CGPath添加到数组并创建一个新的.

每次在drawRect中我都会用适当的颜色重绘数组的路径,具体取决于它是橡皮擦的路径还是标记的路径

并且当触摸移动时绘制当前正在绘制的那个.

现在我知道这并不是一个很好的解决方案,随着阵列规模的增长会占用大量的RAM.我的数组已经包含多余的路径,这些路径实际上已经过了已经用相同颜色着色的点,并且不必要地花费处理器的时间来再次处理它和内存.

任何人都可以参考更好的算法来节省资源吗?

drawing objective-c cgpath ios

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

如何在运行时从内存访问C结构成员?

我们有一个C结构说

struct info{
    int no;
    char first_name[20];
    char last_name[20];
    char status;
}
Run Code Online (Sandbox Code Playgroud)

在运行时,当我们试图通过他们的名字来访问这些成员,说info_var.noinfo_var.first_name,或者我们用的指针结构,info_ptr->no或者info_ptr->first_name,如何在这些个别成员访问?

我的意思是,结构将按成员的形式存储以及一些必要的填充,但运行时或编译器如何在编译时进行替换,如何通过其名称访问这些个别成员?

我知道很多都是依赖于实现的,但是如果有人可以对任何实现有所启发,或者只是给出一个概述它会非常好.

c struct

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

可以直接在同一个类的实例方法中访问实例变量来读取它们的值吗?

我有一个实例变量 - > mXYZ我已经在许多地方读过,它更适合这些方法的访问器.但是,如果我只在课堂上使用它们,那也是为了阅读.

我知道要修改一个实例var,我们应该总是使用一个setter,因为有一些工作要做,比如释放被指向的旧对象和其他一些东西.

但是getter只是返回实例变量的内容,那么我是否有必要使用getter来访问类中的?

该类变量不在类外访问.

objective-c

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

如何在Google应用引擎上实现COMET/Server Push?

我是Stack overflow和Google app引擎的新手.在Java Web应用程序中,ddo如何实现COMET,在连接超时方面存在限制,或者如果不可能,可以在appengine上实现websocket服务器吗?

java ajax google-app-engine comet websocket

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

如何根据包含tableview的视图控制器转换单元框架的原点?

我在ViewController中有一个TableView,当我选择一个单元格时,我想检查它是否低于某个y限制.

y限制是根据viewController的视图.

我根据ViewController的视图获取了单元格的原点并进行了转换.这里我使用了UIView类的方法:convertPoint:fromView:

这里我已经将tableView本身作为fromView参数传递,因为它是一个单元格的直接父视图,而单元格的框架将是tableView的内部框架.

我看到我获得的新点的y值比我应该得到的值有所增加.

有没有更好的方法来实现这一目标?

tableview ipad ios

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

如何在.net CLR应用程序中的C++中的索引处替换String ^中的字符?

我有一个String ^变量.这是一个字符串,我想替换它中第i个位置的字符.我看过他们使用StringBuilder的C#示例.什么适用于C++?

我在Windows 7上使用VS 2012.

.net c++-cli visual-studio

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

如何在Clojure中访问JSON Web服务?

访问Web服务和获取响应JSON作为Clojure映射的常用方法是什么?

我们是否必须使用Java的java.net.URLConnection和一些JSON库,如GSON?

http-kit是用于此目的最常用的库,这就是我通过Google获得的内容吗?

clojure

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

如何设置当前iOS版本中不存在的枚举?

我正在尝试在UIButton中为textLabel设置linebreakmode.

self.scheduleButton.titleLabel.lineBreakMode = NSLineBreakByWordWrapping;
Run Code Online (Sandbox Code Playgroud)

NSLineBreakByWordWrapping 在iOS 6.0之前不可用.

self.scheduleButton.titleLabel.lineBreakMode = UILineBreakModeWordWrap;
Run Code Online (Sandbox Code Playgroud)

将在iOS6之前工作但XCode会抛出一个错误,说它无法识别UILineBreakModeWordWrap.

如何确保在iOS 6之前完全忽略UILineBreakModeWordWrap代码.

我已经制作了一个宏来检查操作系统版本,我会使用respondsToSelector,如果它是一个方法的情况,但这是一个枚举类型.

SYSTEM_VERSION_LESS_THAN(@"6.0")
Run Code Online (Sandbox Code Playgroud)

我在这里使用它,但在if-else场景中但它仍然不能正常工作,因为XCode仍会告诉我UILineBreakModeWordWrap无法识别.

有没有办法在预处理级别了解操作系统版本?

#define SYSTEM_VERSION_LESS_THAN(v)                ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)
Run Code Online (Sandbox Code Playgroud)

我做的这个宏只会添加Objective C代码来确定操作系统类型,这意味着检查将在运行时进行.

但由于这个XCode不会忽略UILineBreakModeWordWrap.

objective-c ios ios5 ios6

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

如何在打嗝中显示{}?

我正在开发一个角度应用程序,我需要以这种形式显示一些角度表达式:

{{"Hello," name}}
Run Code Online (Sandbox Code Playgroud)

在Hiccup中,{}具有特殊含义,用于属性,如何将其用于角度语法?

clojure hiccup angularjs

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

使用 Django ORM 时如何在 Case/When 子句中提供否定条件?

我正在使用 Django 1.8。我正在制作一个条件聚合,其中Case的语句Sum如下所示:

Sum(Case(When(x='ABC', then=F('some_field')), default=0))
Run Code Online (Sandbox Code Playgroud)

如果我想说 x 应该是除“ABC”之外的任何内容,那么我该如何否定这个条件。~Q在这种情况下会起作用吗?

python django

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