我有一个很大的(数百个文件),可怕的杂乱(在文件系统上)是Xcode项目.我想将一堆文件移动到不同的文件夹中.我希望git跟踪移动操作,我希望我的Xcode项目也跟踪移动(只保持引用完整就足够了;我不需要Xcode来重新排列其内部组结构等)
如果我在Finder中拖动东西,Xcode和git都在黑暗中.我相信git会在时机成熟时用内容来解决问题,但我也注意到在Finder中git status
执行git mv
和移动文件之间的输出有所不同,然后分别添加删除和添加操作,所以我我假设存在一些差异(即使这种差异最终没有被编码到提交的内容中.)另一方面,Xcode在面对这种情况时是没有希望的.(您必须手动重新查找每个文件.)
如果我git mv
从命令行使用,git跟踪移动,但我仍然必须手动重新连接Xcode中的每个引用(或者将它们全部撕掉并重新导入所有内容,这是一个痛苦的屁股,因为许多这些文件都有自定义构建标志与他们相关联.)
似乎没有办法让文件系统从Xcode中移动.
我找到zerg-xcode
了它并声称同步文件系统以反映Xcode组结构的插件,但我无法谷歌任何其他方式.我只想要一种方法来移动文件系统上的文件,并有另外两件事(git和Xcode)来跟踪移动中的文件.这要问太多了吗?到目前为止,答案似乎是"是".
是的,我已经看到在Xcode中将文件移动到一个真正的文件夹我在问一个人是否写了一个脚本或者其他什么东西让它变得不那么痛苦.
我正在根据从用户收集的一组点绘制一条CGContext路径.似乎有一些随机输入抖动导致一些线边看起来呈锯齿状.我认为轻微的羽毛可以解决这个问题.如果我使用的是OpenGL ES,我会简单地将一个羽毛应用到我正在用这条路径行进的精灵上; 但是,这个项目要求我留在Quartz/CoreGraphics中,我似乎无法找到类似的解决方案.
我尝试绘制5条线,每条线略大,更透明,以接近羽毛.这会产生不良结果并显着降低性能.
这是线条图代码:
CGContextMoveToPoint(UIGraphicsGetCurrentContext(),((int)lastPostionDrawing1.x), (((int)lastPostionDrawing1.y)));
CGContextAddCurveToPoint(UIGraphicsGetCurrentContext(), ctrl1_x, ctrl1_y, ctrl2_x, ctrl2_y, lastPostionDrawing2.x, lastPostionDrawing2.y;
[currentPath addCurveToPoint:CGPointMake(lastPostionDrawing2.x-((int)furthestLeft.x)+((int)penSize), lastPostionDrawing2.y controlPoint1:CGPointMake(ctrl1_x, ctrl1_y) controlPoint2:CGPointMake(ctrl2_x, ctrl2_y)];
Run Code Online (Sandbox Code Playgroud) 我试图以最有效的方式运行一些核心图像过滤器.试图避免内存警告和崩溃,这是我在渲染大图像时得到的.我正在看Apple的核心图像编程指南.关于多线程,它说:"每个线程必须创建自己的CIFilter对象.否则,你的应用程序可能会出现意外行为."
这是什么意思?
我实际上试图在后台线程上运行我的过滤器,所以我可以在主线程上运行HUD(见下文).这在coreImage的上下文中是否有意义?我认为核心图像固有地使用GCD.
//start HUD code here, on main thread
// Get a concurrent queue form the system
dispatch_queue_t concurrentQueue =
dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(concurrentQueue, ^{
//Effect image using Core Image filter chain on a background thread
dispatch_async(dispatch_get_main_queue(), ^{
//dismiss HUD and add fitered image to imageView in main thread
});
});
Run Code Online (Sandbox Code Playgroud)
更多来自Apple Docs:
保持线程安全
CIContext和CIImage对象是不可变的,这意味着每个对象都可以在线程之间安全地共享.多个线程可以使用相同的GPU或CPU CIContext对象来呈现CIImage对象.但是,对于可变的CIFilter对象,情况并非如此.无法在线程之间安全地共享CIFilter对象.如果您的应用程序是多线程的,则每个线程都必须创建自己的CIFilter对象.否则,您的应用可能会出现意外行为.
我正在尝试使用Sphinx来记录包含各种子包和子模块的Python包.我按照库存Sphinx快速入门脚本生成了各种文件,这些文件带有autodoc
指令,而这些指令依次与html
生成器一起生成,基于代码中现有的文档字符串生成了大多数预期的文档首次通过.凉.
现在进入sphinx.ext.coverage
.由于项目在"quickstart"脚本之后存在,因此运行sphinx-build -b coverage <other args>
根本不会产生任何有意义的输出,只需:
Undocumented Python objects
===========================
Run Code Online (Sandbox Code Playgroud)
......在它下面什么也没有.我故意删除一些文档字符串以确保,当然,没有警告.
我徘徊了一会儿,并最终尝试使用非autodoc
指令,并且看,coverage
突然看起来有效.可悲的是,autodoc
功能性是Sphinx首先吸引人的一大部分.但是好的,.. py:module::
为每个模块提供指令有帮助; 它似乎使coverage
扩展知道我的模块,并从那里开始在我的python.txt
有关成员的那些没有docstrings的模块中的条目.这很好,但它似乎意味着coverage
要报告一个模块,该模块必须在doc文件中明确地手动声明,这有点降低了coverage
工具的价值(即如果我向包中添加一个新模块,在我专门为它添加指令之前,它似乎不会被包含在覆盖率报告中.)所以,我所看到的autodoc
似乎能够自动遍历子模块/包,但却coverage
没有.
问题:我错过了什么吗?无法自动发现项目中出现的新代码似乎是"覆盖"工具的一个非常明显的错误.在我看来,标准的覆盖工具应该选择退出,而不是选择加入.
当我进一步推动时,我发现更多的证据表明coverage
并且autodoc
不是朋友.例如,对于手动声明模块,即使.. py:module::
指令(如上所述),我觉得coverage
是不是对的事情就像在捡autodoc
的exclude-members
指令.正如预期的那样,该指令在构建HTML时忽略了生成的输出中的成员匹配,但coverage
仍然在其覆盖率报告中将这些成员报告为未记录的.从我的阅读
问题:我在文档中的哪个地方之间存在这种不兼容性coverage
并且autodoc
无法找到?或者,我又错过了什么?
官方文档说可以在python代码中使用自定义块,但是您需要创建元数据.我还没有找到它的一个例子.
我的问题是如何创建,使用和分发自定义块的元数据.
例
@interface SomeClass
- (void)doSomethingWithCompletion: (void (^)(SomeObject *obj, NSError *error))myBlock;
@end
def pythonMethod():
def completion(obj, error):
# staff
foo = SomeClass.new()
foo.doSomethingWithCompletion_(somehow_pass_completion)
Run Code Online (Sandbox Code Playgroud)
问题是somehow_pass_completion
应该如何以及如何提供元数据myBlock
.
我想找出一种在Xcode(或者更一般地说,任何Cocoa文本编辑器)中具有键绑定的方法,它将删除(向左或向右,取决于键绑定)连续的空格而不删除任何非空白字符或换行符.
对于left-whitespace-delete,我认为逻辑是:
"如果克拉左边有一个非空格或换行符,则不做任何操作,否则删除克拉左边的所有连续空白字符,使克拉紧跟第一个非空格 - 或 - 左边的换行符."
显然,我也想要一致的正确操作版本.
在一个理想的世界里,我想要一个关于换行的更复杂/更聪明的行为,(可能删除只包含空格的连续行)但我会先解决这个简单的行.
我有QuicKeys,我并不害怕使用它.:)我也愿意自己写一些东西,如果有人对如何在运行时修补这样的行为有任何想法 - 这种行为在我的系统上的所有Cocoa文本编辑器中工作都是非常优秀的.
我对运行emacs,vi,vim,pico,nano,WordStar或任何其他文本编辑器不感兴趣.如果解决方案无法在Xcode4中运行,那对我来说不是解决方案.
我正在使用带有1GB内存的32位CentOS VPS上的MongoDB.它大部分时间都可以正常工作,但是它的内存使用率不时出现高峰并且崩溃了我的服务器.
有没有办法防止这种情况,例如,通过限制MongoDB守护程序使用的内存和CPU?
我正在考虑运行Mongo守护进程ionice
并给它一个低优先级,但我不确定这是否会起作用.
欢迎任何帮助或指示!
我想在绘图应用程序中对图形上下文执行撤消操作.按下撤消时,我想移动到包含旧图形的上一个上下文.
例如:
我在上下文中有一个矩形.在拖动时,我将矩形移动到新位置并重绘它.现在,当我按下撤消按钮时,我想将矩形移动到上一个位置.我怎样才能做到这一点?
我只是基本的想法NSUndoManager
.
请帮忙!
谢谢.
我一直在使用ReactiveCocoa,我遇到了一个有趣的问题.我可以设想任何数量的丑陋,有状态的解决方案,但我非常有信心有一种优雅,功能性的方式,无论出于何种原因,我的脑子里都没有实现.也许你可以帮忙!
这里的输入信号是两部分字符串,如"<letter>,<number>"
.所需的排序规则是,对于给定的字母,输入值应按顺序出现在输出中<number>
(即A,2
应该永远不会出现在之前A,1
),并且所有字母<letter>
输出中的输入值不应违反alpha顺序.(即,B
除非出现至少一个以字母开头的字符串,否则不会出现任何字符串A
.)除了这些规则所规定的情况之外,期望事物将按照它们提交给输入的顺序到达输出.
请考虑以下代码:
RACSubject* input = [RACSubject subject];
RACSignal* output = [input <SOME CHAIN OF SIGNAL FUNCTIONS>];
[output subscribeNext:^(id x) { NSLog(@"(%@)",x); }];
[input sendNext: @"A,2"]; // Expect no output
[input sendNext: @"B,4"]; // Expect no output
[input sendNext: @"B,2"]; // Expect no output
[input sendNext: @"B,1"]; // Expect no output
[input sendNext: @"A,1"]; // Expect output: (A,1) (A,2) (B,1) (B,2)
// Note: (A,1) (B,1) (B,2) …
Run Code Online (Sandbox Code Playgroud) 在 OSX 下的 OpenGL 应用程序中,渲染代码通常在 DisplayLink 线程上运行,该线程与主线程分开。
在后台执行任务(例如加载 GL 资源)时,同步线程非常重要,因此渲染线程不会尝试从后台线程正在主动更改的模型中进行绘制。
当渲染发生在主线程上时,我一直在使用 GCD 将后台任务的关键部分分派到主分派队列,如下所示:
dispatch_async(dispatch_get_main_queue(), ^{ [self doCriticalThing]; });
Run Code Online (Sandbox Code Playgroud)
但是,当渲染发生在 DisplayLink 线程上时,这不起作用,因为毫不奇怪,当 DisplayLink 尝试渲染时,我会在尝试运行关键任务的主线程之间遇到线程冲突。
是否可以使用 GCD 将任务分派到 DisplayLink 线程,而不是主线程?
或者我是否需要恢复使用类似的东西:
performSelector:onThread:withObject:waitUntilDone:
Run Code Online (Sandbox Code Playgroud)
直接将任务分配给DisplayLink线程?