小编Sna*_*akE的帖子

具有动态3D内容的自定义WP7 Silverlight控件

理想情况下,我需要实现一个WP7控件,可以添加到任何XAML并显示动态的交互式3D场景.

目前我在共享模式下通过XNA实现了这个,并且使用了在场景顶部渲染UI UIElementRenderer.然而,这种解决方案是次优的,因为

  1. 应用程序必须呈现整个屏幕,因为在共享模式下,Silverlight本身不会绘制任何内容.

  2. 我无法找到任何方法来检测Silverlight控件是否需要更改其演示文稿,无论是由于用户交互还是动画.仅当3D场景因此而改变时才会渲染控件,因此它们缺少原生WP7应用程序的光滑外观.

那么,有没有办法在一个控件内渲染3D场景,让Silverlight管理其余的UI?

3d silverlight xna windows-phone-7

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

Python:通过实例访问类变量

在Python中,可以通过该类实例访问类变量:

>>> class A(object):
...     x = 4
...
>>> a = A()
>>> a.x
4
Run Code Online (Sandbox Code Playgroud)

很容易证明a.x真正解决了A.x,而不是在构造过程中复制到实例:

>>> A.x = 5
>>> a.x
5
Run Code Online (Sandbox Code Playgroud)

尽管这种行为众所周知并且被广泛使用,但我找不到任何涵盖它的权威文档.我在Python文档中找到的最接近的是关于类部分:

class MyClass:
    """A simple example class"""
    i = 12345
    def f(self):
        return 'hello world'
Run Code Online (Sandbox Code Playgroud)

[剪断]

...根据定义,作为函数对象的类的所有属性都定义其实例的相应方法.所以在我们的例子中,x.f是一个有效的方法引用,因为它MyClass.f是一个函数,但x.i不是,因为MyClass.i不是....

但是,这部分专门讨论了方法,因此它可能与一般情况无关.

我的问题是,这有记录吗?我可以依靠这种行为吗?

python scope specifications

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

如何让iOS VoIP应用程序在响铃时服从请勿打扰?

人们会认为VoIP应用程序必须遵守与股票手机应用程序相同的规则,但事实证明几乎不可能正确实现振铃.我尝试了几件事:

  1. 带铃声的本地推送通知.

    好:遵守静音和免打扰模式.

    不良:声音不超过30秒,只有在通知出现时才会振动一次.因此,为了实现振铃效果,必须每隔6秒重新通知通知,从而有效地向通知中心发送垃圾信息.如果应用程序处于活动状态,推送通知也不会发出声音/振动,因此应用程序必须检测到并以不同方式响铃.

  2. AudioServicesPlayAlertSound().

    好:适当的API似乎专门为此任务而设计.Obeys静音模式.

    坏:完全忽略请勿打扰模式,声音和振动正好通过.

  3. 使用AVFoundation播放铃声.

    声音播放.

    差:不支持振动,不支持静音/免打扰模式.基本上不能用作铃声.

有没有更好的办法?还是Apple完全错过了这个用例?

audio voip hig ios

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

如何禁用 Qt Creator 中的“问题”窗格?

我发现使用编译器输出更容易,但 Qt Creator 中的“问题”窗格会在每次编译后自动弹出,隐藏有用的信息,迫使我每次都隐藏它。有没有办法禁用这种行为?我不介意收集错误,我只是不希望每次我不要求时都显示这个特定的 UI。

我使用的是 Qt Creator 3.5.0,但早期版本也是如此。

ide qt-creator

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

DDD 和同构多对多关系

想象一下您建立了一个社交网络。有些用户可以添加其他用户为好友。您如何在 DDD 中对此进行建模?当然,您不能简单地在类中拥有一个朋友列表User,因为任何朋友循环都会导致从存储库获取此类用户时的无限递归。

如果您需要跟踪可能待处理、取消、接受或拒绝的好友请求,您将如何更改您的模型?

domain-driven-design

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

如何在Java中实现`finally` for error case

如果发生任何错误,我需要触发一些代码.基本上我需要一个finally只在异常的情况下执行的块.我会这样实现它:

HttpURLConnection post(URL url, byte[] body) throws IOException {
    HttpURLConnection connection = url.openConnection();
    try {
        OutputStream out = connection.getOutputStream();
        try {
            out.write(body);
        } finally {
            out.close();
        }
        return connection;
    } catch (Throwable t) {
        connection.disconnect();
        throw t;
    }
}
Run Code Online (Sandbox Code Playgroud)

看起来很好 - 除了它不会编译:我的函数不能抛出Throwable.

我可以重写:

    } catch (RuntimeException e) {
        connection.disconnect();
        throw e;
    } catch (IOException e) {
        connection.disconnect();
        throw e;
    }
Run Code Online (Sandbox Code Playgroud)

但即便如此,我仍然是a)错过所有错误,并且b)必须在我改变实现时抛出不同类型的异常时修复此代码.

是否有可能一般地处理这个问题?

java exception-handling

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