我发现了IOS 3.1+的CADisplayLink,它在刷新显示时触发事件,有效地允许您与显示更新同步而无需使用NSTimer.
在macos/cocoa下编写opengl应用程序时是否有相应的时间?
使用XmlDocument解析XML文件有什么选择,并且以后仍然保留错误消息的行信息?(顺便说一句,是否可以使用XML Deserialisation做同样的事情?)
选项似乎包括:
如何在actionscript 3.0中旋转文本字段?只要我更改文本字段的rotation属性,它就不会显示.
例如:
var txtFld:TextField = new TextField();
txtFld.x = 100;
txtFld.y = 100;
txtFld.width = 300;
txtFld.height = 300;
txtFld.text = "Test String";
txtFld.rotation = 90;
addChild(txtFld);
Run Code Online (Sandbox Code Playgroud) 给定通过反射找到的.NET类型对象,是否可以将此类型打印或反编译为C#声明,同时考虑C#类型别名等?
例如,
Int32 -> int
String -> string
Nullable<Int32> -> int?
List<au.net.ExampleObject> -> List<ExampleObject>
Run Code Online (Sandbox Code Playgroud)
我希望能够打印出与源中最初编写的方法相近的方法.
如果.NET框架中没有任何内容,是否有第三方库?我可能会看看ILSpy.
你如何在不同类型的jsp中正确呈现对象列表?比如说,我必须以指定的顺序渲染这些不同的对象.
一种方法可能是使用公共类型变量或instanceof,但这意味着有一个大的switch/if语句来管理它们:
<c:forEach var="o" items="${bigListofObjects}" >
<c:choose>
<c:when test='${o.type=="simple"}' >
<!-- render simple -->
</c:when>
<c:when test='${o.type=="complex"}' >
<!-- render complex -->
</c:when>
<!-- etc etc ... -->
</c:choose>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)
我可以为每个类添加一个render()方法,但这意味着将视图与其余代码混合.
如果我想稍后渲染另一种类型会发生什么?我可以用自定义jsp标签做些什么吗?
是否可以在 C# 中创建用户可扩展的访问者模式?(最好是 .net 3.5)
我在库中有一组类,我希望使用访问者模式向其中添加功能。问题是库的用户也可以创建自己的类。这意味着您需要创建一个特殊的访问者来接受新的类类型,但我们的 Accept 方法被设置为接收基本类型。如何让派生类在派生访问者中调用正确的方法。
或者是否有另一种方式来做“如果是这种类型,就这样做”?
一些示例代码:
/* In library */
namespace VisitorPattern.System
{
interface IThing
{
void Accept(SystemVisitor visitor);
void ThingMethodA(...);
void ThingMethodB(...);
}
class SystemThingA : IThing
{
public void Accept(SystemVisitor visitor) { visitor.Visit(this); }
...ThingMethods...
}
class SystemThingB : IThing
{
public void Accept(SystemVisitor visitor) { visitor.Visit(this); }
...ThingMethods...
}
class SystemThingC : IThing
{
public void Accept(SystemVisitor visitor) { visitor.Visit(this); }
...ThingMethods...
}
class SystemVisitor
{
public SystemVisitor(object specialSystemServices) { }
public virtual …Run Code Online (Sandbox Code Playgroud) 是否可以创建一个 svn 提交钩子来确认工作目录在提交之前已被 svn 更新、构建和测试?我想至少确保在开发人员提交之前,代码已经使用主干中的最新代码进行了编译和测试。当开发人员修改不同的源代码而导致构建失败时,这可以防止主干中出现集成问题。
另一种方法是,如果存在任何已更新的文件(但工作目录中没有必要修改),则阻止提交。
顺便说一句,正如上一个问题中提到的,我的工作提交了二进制文件和源代码。造成这种情况的一个给定原因是,如果提交时存在二进制文件冲突,您就知道该二进制文件的源已发生更改,因此您需要运行 svn-update 并重新编译。它还使合并和更新变得痛苦。我意识到,如果开发人员在提交之前进行更新,则不太可能需要此检查。
我在玩 Google App Engine,我了解到时区固定为 UTC。我想确定用户本地时区当天的开始和结束时间。所以基本上,给定 UTC 的当前时间,您如何确定当天的开始和结束时间,同时考虑到夏令时转换。
我有一些笨重的示例代码。请注意,我意识到如果我手动指定日期,我也可以指定明天的日期,但它们是示例,我想以编程方式确定它。我的主要问题是,如果我将 timedelta 添加到带有时区的日期时间,然后对其进行标准化(就像 pytz 文档中所建议的那样),我会得到一个日期时间,在夏令时切换期间关闭一小时。
代码中没有提到,但最终目的是将这些时间转换回 UTC,这就是为什么了解时区很重要的原因。
#!/usr/bin/python
import datetime
from pytz.gae import pytz
hobart_tz = pytz.timezone('Australia/Hobart')
utc_dt = pytz.utc.localize(datetime.datetime.utcnow())
hobart_dt = utc_dt.astimezone(hobart_tz)
# create a new datetime for the start of the day and add a day to it to get tomorrow.
today_start = datetime.datetime(hobart_dt.year, hobart_dt.month, hobart_dt.day)
today_start = hobart_tz.localize(today_start)
today_end = hobart_tz.normalize(today_start + datetime.timedelta(days=1))
print 'today:', today_start
print ' next:', today_end
print
# gives:
# today: 2011-08-28 00:00:00+10:00
# next: 2011-08-29 …Run Code Online (Sandbox Code Playgroud) 我有一个与服务器连接的iOS应用程序.如果我们断开连接,我希望能够关闭顶视图控制器以返回到"连接到服务器"视图控制器.问题是可能在任何时候发生断开连接,包括在视图控制器之间的转换期间.
视图控制器层次结构如下:
ConnectingToServerViewControllerSignInViewControllerMainAppViewController检测到断开连接时,我希望视图层次结构折叠回:
ConnectingToServerViewController因此,当检测到断开连接时,调用此方法ConnectingToServerViewController以解除它所呈现的任何内容并返回尝试连接到服务器:
- (void)restartSession
{
if (self.presentedViewController) {
[self dismissViewControllerAnimated:NO completion:nil];
}
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我在视图转换发生时尝试关闭,我会收到诸如此类的错误
*** Assertion failure in -[UIWindowController transition:fromViewController:toViewController:target:didEndSelector:], /SourceCache/UIKit/UIKit-2380.17/UIWindowController.m:211
attempt to dismiss modal view controller whose view does not currently appear. self = <YYYYYViewController: 0x2089c8a0> modalViewController = <XXXXXViewController: 0x208e6610>
attempt to dismiss modal view controller whose view does not currently appear. self = <WWWWWWViewController: 0x1fd9e990> modalViewController = <YYYYYViewController: 0x2089c8a0>
Run Code Online (Sandbox Code Playgroud)
第一个将崩溃应用程序,第二个将不会解雇任何东西,并继续显示当前显示的视图控制器.
思考:
编写Jenkins管道脚本时,从并行步骤访问变量是否安全?文档不清楚.
例如,此管道代码修改来自并行分支的公共计数器和队列:
def donecount = 0;
def work = [6,5,4,3,2,1,0]
def branches = [:]
for (int i = 0; i < 3; i++) {
branches["worker-${i}"] = {
while (true) {
def item = null
try {
item = work.remove(0)
} catch (java.lang.IndexOutOfBoundsException e) {
break
}
echo "Working for ${item} seconds"
sleep time:item
donecount += 1
}
}
}
branches.failFast = true
parallel branches
echo "Completed ${donecount} tasks"
Run Code Online (Sandbox Code Playgroud) c# ×3
actionscript ×1
cocoa ×1
datetime ×1
decompiling ×1
flash ×1
groovy ×1
ios ×1
java ×1
jenkins ×1
jsp ×1
jsp-tags ×1
jstl ×1
macos ×1
objective-c ×1
opengl ×1
pretty-print ×1
python ×1
reflection ×1
rotation ×1
svn ×1
textfield ×1
timezone ×1
tortoisesvn ×1
types ×1
uikit ×1
utc ×1
workflow ×1
xml ×1
xmldocument ×1