问题列表 - 第37817页

drawLayer:未调用inContext

我有自己的最小视图类:

- (void) awakeFromNib
{
    NSLog(@"awakeFromNib!");
    [self.layer setDelegate:self];
    [self.layer setFrame:CGRectMake(30, 30, 250, 250)];
    self.layer.masksToBounds = YES;
    self.layer.cornerRadius = 5.0;
    self.layer.backgroundColor = [[UIColor redColor] CGColor];
    [self setNeedsDisplay];
}

- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx
{
    NSLog(@"drawing!");
}
Run Code Online (Sandbox Code Playgroud)

drawLayer:inContext永远不会被调用,虽然我可以看到图层为红色圆角矩形.我错过了什么?

编辑:来自Apple文档

您可以为图层绘制内容,或者通过创建实现以下方法之一的委托类来更好地封装设置图层的内容图像:displayLayer:或drawLayer:inContext:.

实现委托方法来绘制内容不会自动导致图层使用该实现进行绘制.相反,您必须通过向其发送setNeedsDisplay或setNeedsDisplayInRect:消息,或通过将其needsDisplayOnBoundsChange属性设置为YES,明确告知图层实例重新缓存内容.

drawLayer:inContext的:

如果已定义,则由drawInContext的默认实现调用:

iphone core-animation core-graphics

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

功能C# - 使用或返回Action

浏览网络以便在C#中更好地处理故障,我将通过以下内容实现策略.第一个对我来说很自然,而另一个实现我不确定它的优点是什么?

1)

static void Fault(Action protectedBlock, Action faultHandler)
{ 
    try
    {
        protectedBlock();
    }
    catch
    {
        faultHandler();
        throw;
    }
}

 

static Action Fault(Action protectedBlock, Action faultHandler)
{
    return () =>
    {
        try
        {
            protectedBlock();
        }
        catch
        {
            faultHandler();
            throw;
        }
    };
}

Run Code Online (Sandbox Code Playgroud)
static void Fault(Action protectedBlock, Action faultHandler)
{ 
    try
    {
        protectedBlock();
    }
    catch
    {
        faultHandler();
        throw;
    }
}

2)

static Action Fault(Action protectedBlock, Action faultHandler)
{
    return () =>
    {
        try
        {
            protectedBlock();
        }
        catch
        {
            faultHandler();
            throw;
        }
    }; …

c# metaprogramming higher-order-functions

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

使用具有L方法的平滑器来确定K-Means簇的数量

在应用L方法确定数据集中k-means聚类的数量之前,有没有人试图将更平滑的应用程序应用于评估指标?如果是这样,它是否改善了结果?或者允许更少数量的k-means试验,从而大大提高速度?您使用了哪种平滑算法/方法?

"L-Method"详述如下: 确定分层聚类/分段算法中的聚类/分段数,Salvador&Chan

这将计算一系列不同试验群集计数的评估指标.然后,为了找到膝盖(出现最佳簇数),使用线性回归拟合两条线.应用简单的迭代过程来改善膝盖拟合 - 这使用现有的评估度量计算,并且不需要重新运行k均值.

对于评估指标,我使用的是Dunns指数的简化版本的倒数.简化速度(基本上我的直径和簇间计算得到简化).倒数使得指数在正确的方向上工作(即,通常更好).

K-means是一种随机算法,因此通常会多次运行并选择最佳拟合.这非常有效,但是当您为1..N群集执行此操作时,时间会快速累加.因此,控制运行次数符合我的利益.整体处理时间可能决定我的实现是否实用 - 如果我无法加速,我可能会抛弃此功能.

algorithm cluster-analysis linear-regression k-means

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

在jQuery中将图像SRC转换为背景图像

如何使用jQuery设置图像src

我希望与此jQuery代码片段相反.我需要一些可以转向的代码

<img src="images/filename.jpg">
Run Code Online (Sandbox Code Playgroud)

成为

<div class="imageBox" style="background:url(images/filename.jpg)"></div>
Run Code Online (Sandbox Code Playgroud)

我上下搜索试图找到能够做到这一点的东西,但却空洞了.我不是jQuery大师,所以我很感激有人可以提供任何帮助.谢谢

jquery

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

如何测试是否允许PHP system()函数?并且出于安全原因没有关闭

我想知道如何测试服务器上是否允许system()或exec().我一直收到此错误"警告:出于安全原因,exec()已被禁用..."

我知道safe_mode函数在我的提供程序运行的php版本中被折旧(5.3.3)所以我不能使用get_ini('safe_mode')检查.

还有什么可做的?

我用它作为备份脚本.如果提供者允许系统,则脚本会生成一个tar文件,并在用户登录时将其邮寄给我.

提前致谢.

php system exec

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

在继承中使用异常

class B {
    void process()throws Exception{
        System.out.println("hi sh");
    }

}
class C extends B {
    void process(){
        System.out.println("hhhhhh");
    }

    public static void main(String args[]){
        B a=new C();
        try{
             a.process();
        }
        catch(Exception e)
        {
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在调用process方法时,我们必须使用try catch块.但是,如果我只将C的对象存储在C的引用变量中,C a=new C()那么就不需要尝试catch块.

谁能告诉我原因?

java

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

Delphi:TAdoQuery内存泄漏?

我正在使用Delphi 5和ADO开发小型糖尿病计划.我这样做一个小问题:

function GetLowestGlucoseLevel(StartDate:string;EndDate:string): Integer;
var
  Q:TADOQuery;
begin
   try
      Q:=TADOQuery.Create(Application); //Separate unit, owner set to App
      Q.Connection:=dtMod.ADOCon;
      Q.DisableControls;
      Q.Close;
      Q.SQL.Clear;
      Q.SQL.Add('SELECT Min(qGlucose.Glucose) AS MinOfGlucose from qGlucose');
      Q.Parameters[0].Value:=StartDate;
      Q.Parameters[1].Value:=EndDate;
      Q.Open;

      Result:=Q.FieldByName('MinOfGlucose').AsInteger;

      Q.Close;
    finally
      Q:=nil;
      Q.Free; 
    end; 
end;
Run Code Online (Sandbox Code Playgroud)

查询运行正常并按预期返回结果.但是,当我检查Windows任务管理器时,内存使用率在查询后继续上升而不是减少.

如何解决这个问题?

谢谢!

memory delphi memory-leaks ado tquery

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

HTML输入类型提交值而不修改帖子值?

可以说我有一个非常简单的html表单:

<form action="./whatever.php" method="POST">
    <input type="submit" name="TheButton" value="Apples">
</form>
Run Code Online (Sandbox Code Playgroud)

这当然使用户看到的按钮说苹果.我希望post请求是TheButton=Oranges...有一种简单的方法可以在HTML中处理这个问题,还是我需要用action = javascript做一些事情?

html webforms form-submit

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

WSO2替代方案

WSO2还有其他选择吗?

wso2

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

CAStreamBasicDescription和AudioStreamBasicDescription有什么区别?

CAStreamBasicDescription和之间有什么区别AudioStreamBasicDescription?谢谢.

core-audio audiounit ios

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