Python包含用于min-sheaps的heapq模块,但我需要一个最大堆.我应该在Python中使用什么来实现max-heap实现?
我有一个需要存储用户数据的python桌面应用程序.在Windows上,这通常是%USERPROFILE%\Application Data\AppName\在OSX上,通常是~/Library/Application Support/AppName/在其他*nix上通常~/.appname/.
标准库中存在一个函数os.path.expanduser,它将为我提供用户的主目录,但我知道在Windows上,至少"应用程序数据"已本地化为用户的语言.OSX也可能如此.
获取此位置的正确方法是什么?
更新: 一些进一步的研究表明,在OSX上获得这个的正确方法是使用函数NSSearchPathDirectory,但这是Cocoa,所以它意味着调用PyObjC桥...
在Apple的核心数据并发核心数据文档中,他们列出了线程安全的首选方法,即每个线程使用单独的NSManagedObjectContext和共享的NSPersistentStoreCoordinator.
如果我有一些NSOperations在NSOperationQueue上一个接一个地运行,那么每个任务创建上下文会有很大的开销吗?
由于NSOperationQueue的最大并发操作数为1,因此我的许多操作将使用相同的线程.我可以使用线程字典为每个线程创建一个NSManagedObjectContext吗?如果我这样做,我以后会有问题清理我的背景吗?
在这种情况下使用Core Data的正确方法是什么?
AddressBook框架提供ABPersonCopyImageData以获取每个地址簿条目的联系人图像.这对于图像数据非常有用,但是用户还可以对图像进行调整大小和裁剪以用于构图.当我获得图像数据时,我得到完整的图像,而不是裁剪的图像.如何获取用户用于裁剪图像的帧(或者代替该帧,如何访问裁剪的图像/数据)?
对于将contentEditable设置为true的IE文档,我遇到了一个不寻常的问题.在位于紧邻块元素之前的文本节点末尾的范围上调用select()会使选择转移到右边的一个字符,并显示在不应该出现的位置.我已向Microsoft提交了针对IE8的错误.如果可以,请为此问题投票,以便修复.
https://connect.microsoft.com/IE/feedback/ViewFeedback.aspx?FeedbackID=390995
我写了一个测试用例来证明效果:
<html>
<body>
<iframe id="editable">
<html>
<body>
<div id="test">
Click to the right of this line ->
<p id="par">Block Element</p>
</div>
</body>
</html>
</iframe>
<input id="mytrigger" type="button" value="Then Click here to Save and Restore" />
<script type="text/javascript">
window.onload = function() {
var iframe = document.getElementById('editable');
var doc = iframe.contentDocument || iframe.contentWindow.document;
// An IFRAME without a source points to a blank document. Here we'll
// copy the content we stored in between the IFRAME tags into that
// …Run Code Online (Sandbox Code Playgroud) 当您使用PHP 复制功能时,操作会盲目地复制目标文件,即使它已经存在.如何安全地复制文件,如果没有现有文件,只执行复制?
我有一个视图控制器(A)加载视图控制器(B)并在我的视图层次结构中使用它的视图.如果我将B的视图添加到A的视图层次结构中,并且我不手动转发像viewWillAppear这样的事件,我无法在B控制器中处理它们.(来自viewWillAppear:docs)
警告:如果属于视图控制器的视图直接添加到视图层次结构中,则视图控制器将不会收到此消息.如果向视图层次结构插入或添加视图,并且它具有视图控制器,则应直接向关联的视图控制器发送此消息.未能发送视图控制器此消息将阻止显示任何关联的动画.
嵌套视图控制器的正确方法是什么?(就像NavBarController那样.)如果只是需要将一组事件转发到嵌套控制器的问题,那么我需要转发的所有事件是什么?
我们已经为Xinha文本编辑器编写了一个插件来处理脚注.您可以查看:http: //www.nicholasbs.com/xinha/examples/Newbie.html
为了处理Webkit和IE在行尾处理链接的方式存在的一些问题(无法使用游标离开同一行的链接),我们插入一个空白元素并将选择移动到该行,崩溃吧.这在Webkit和Gecko中运行良好,但由于某种原因,moveToElementText正在吐出无效参数异常.我们传递给它的元素无关紧要,功能似乎完全被打破了.但是,在其他代码路径中,此功能似乎有效.
要使用上面的链接重现错误,请单击主文本输入区域,键入任何内容,然后单击带有绿色加号的黄色页面图标,在灯箱对话框中键入任何内容,然后单击"插入".导致问题的代码示例如下:
if (Xinha.is_ie)
{
var mysel = editor.getSelection();
var myrange = doc.body.createTextRange();
myrange.moveToElementText(newel);
} else
{
editor.selectNodeContents(newel, false);
}
Run Code Online (Sandbox Code Playgroud)
有问题的代码位于svn:https: //svn.openplans.org/svn/xinha_dev/InsertNote
这个插件是针对Xinha的一个分支构建的,可以从svn获得:http: //svn.xinha.webfactional.com/branches/new-dialogs
如果我有两个类,SubClass和SuperClass:
SuperClass *super = new SuperClass();
SubClass *sub = new SubClass();
SubClass *sub_pointer;
// **The nice one-line cast below**
sub_pointer = dynamic_cast<SubClass*> super;
// Prints NO
printf("Is a subclass: %s\n", sub_pointer ? "YES" : "NO");
sub_pointer = dynamic_cast<SubClass*> sub;
// Prints YES
printf("Is a subclass: %s\n", sub_pointer ? "YES" : "NO");
Run Code Online (Sandbox Code Playgroud)
我可以使用isMemberOfClass在objective-C中完成相同的操作,如下所示:
SuperClass *super = [[SuperClass alloc] init];
SubClass *sub = [[SubClass alloc] init];
SubClass *sub_pointer;
id generic_pointer;
// Not as easy:
generic_pointer = super;
if ([generic_pointer isMemberOfClass:[SubClass class]]) { …Run Code Online (Sandbox Code Playgroud) 我在视图中有一个文本字段条目,我想在后台操作期间阻止访问.我已经尝试使用editable属性,该属性在后台操作期间成功阻止访问,但是当我将editable设置为YES时,键盘出现并且textfield成为第一个响应者.更改可编辑后立即关闭键盘不会执行任何操作:
// Broken code
textView.editable = YES;
[textView resignFirstResponder];
Run Code Online (Sandbox Code Playgroud)
我考虑过添加一个清晰的UIView,它只是在解除键盘后阻止访问UITextView,但这看起来有点过分.有没有正确的方法来处理这个?
因此,人们不必阅读比选定答案更远的内容:事实证明,这是SDK中的"已知问题",您可以在发行说明中找到它.使用userInteractionEnabled执行相同的功能,只要您确保自己解除键盘.
iphone ×4
objective-c ×4
javascript ×2
python ×2
addressbook ×1
core-data ×1
file ×1
file-io ×1
heap ×1
html ×1
php ×1
uitextview ×1