小编phi*_*red的帖子

取消UIView动画?

是否可以在UIView动画进行过程中取消动画?或者我是否必须降至CA级别?

即我已经完成了这样的事情(也可能设置一个结束动画动作):

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:duration];
[UIView setAnimationCurve: UIViewAnimationCurveLinear];
// other animation properties

// set view properties

[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)

但是在动画完成之前我得到动画结束事件,我想取消它(剪短它).这可能吗?谷歌搜索周围发现一些人问同样的问题没有答案 - 一两个人推测它不能完成.

core-animation uiviewanimation ios

243
推荐指数
10
解决办法
15万
查看次数

轻量级XML查看器,可以处理大文件

有很多"重量级"工具,比如XmlSpy,这些工具很适合在xml文档中进行刺激 - 但是经常(在某些情况下经常!)你只是想快速打开并浏览一个xml文档,然后打印出来.可能有一些基本的搜索功能(文本可能很好).

我通常使用浏览器,例如Firefox的浏览器,但是它们往往会因较大的文件大小而崩溃(我经常打开10s或更多MB的文件).

我对如何实现这样的观众有一些想法,所以我确信必须有一些可以做到这一点的东西,但是我的google-fu让我失望了.

所以我想我会把它带到那个引领道路的蜂巢头脑中.

思考?

xml browser viewer

162
推荐指数
3
解决办法
12万
查看次数

如何将UITableView行重新排序限制为一个部分

我在这个上面撞了我的头,谷歌什么也没出现.我最终解决了这个问题,并认为我会为了下一个人而在这里写下来.

你有一个UITableView有多个部分.每个部分都是同质的,但整体表格是异构的.因此,您可能希望允许对部分内的行进行重新排序,但不允许部分重新排序.也许你甚至只想要一个部分可以重新排序(这是我的情况).如果您正在查看,就像我一样,UITableViewDataSourceDelegate您将无法找到关于何时让您在各个部分之间移动一行的通知.当它开始移动一行(这很好)时会得到一个(当它已经移动它时你得到一个)并且你有机会与你的内部资料同步.没用.

那么如何防止各部门之间的重新订单呢?

我会将我所做的作为单独的答案发布,让其他人发布更好的答案!

iphone cocoa-touch uitableview ios

117
推荐指数
5
解决办法
3万
查看次数

XPathReader发生了什么事

XPathReader是一个前向读取XML解析器(构建在XMLReader上)的实现,它允许您注册XPath查询以查找它(或者至少是XPath的一个子集,称为Sequential XPath).这似乎是轻松访问xml流元素的完美选择,或者只需要从大型xml文档的开头提取一些信息,因此不希望将整个内容加载到内存中.

对于开源实现似乎有一阵兴奋,其中一个MS人员在2003/2004年发布,例如:

http://donxml.com/allthingstechie/archive/2004/02/26/430.aspx

http://msdn.microsoft.com/en-us/library/ms950778.aspx

http://www.tkachenko.com/blog/archives/000472.html

但在此之后,这条线索似乎枯竭了.对托管实施位置的引用(http://workspaces.gotdotnet.com/xpathreader)似乎不再起作用.有谁知道它发生了什么,为什么感兴趣的消失了?

.net xml xpath sax

21
推荐指数
2
解决办法
8099
查看次数

迭代器适配器只迭代映射中的值?

经过几年的C#和最近的Objective C,我刚刚回到C++.

我之前做过的一件事就是为std :: map滚动我自己的迭代器适配器,它将仅仅反映值部分,而不是键值对.这是一个非常普遍和自然的事情.C#为此工具提供了其Dictionary类的Keys和Values属性.类似地,Objective-C的NSDictionary具有allKeys和allValues.

自从我"离开"以来,Boost已经收购了Range和ForEach库,我现在正在广泛使用它们.我想知道两者之间是否有一些设施可以做同样的事情,但我找不到任何东西.

我正在考虑使用Boost的迭代器适配器来解决问题,但在我沿着这条路走下去之前,我想我会问这里是否有人知道Boost中的这样一个设施,还是其他现成的设施?

c++ maps iterator adapter

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

SQL Server 2008中CLR过程的表值参数 - 可能吗?

这个来自SQL Server 2008 BOL的页面讨论了CLR存储过程,并有一个标记为"表值参数"的部分,讨论了它们如何有利.这很好 - 我喜欢在我的CLR过程中使用TVP,但不幸的是,这似乎是宇宙中唯一可能的参考,并且该部分没有描述语法是什么(也没有进一步的信息链接在该段末尾)

当然,我可以很容易地找到如何从T-SQL过程中使用TVP的描述,或者如何一般地进行CLR过程.但是写一个带有TVP的CLR过程?没有.这是非常不寻常的,因为将多行数据传递到存储过程是一个流行的问题.

这让我想知道该页面上是否存在该部分是错误的.有人请告诉我它不是,并指出更多信息/示例.

[编辑]

当我遇到这个时,我也准备把它发布到MS论坛之一,这似乎是棺材中的最后一个钉子.看起来无法完成.

clr stored-procedures sql-server-2008 table-valued-parameters

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

Objective C中的实例变量/方法参数命名

以下人们对实例变量和方法参数的命名有什么约定 - 特别是当使用方法参数来设置ivars(实例变量)时?

在C++中,我过去经常使用m_ivars 的前缀.在C#中,我遵循了纯粹使用this.ivars 消除歧义的惯例.我已经采用了C++中的等价物(this->).

在目标C中我尝试了一些事情,但没有一个真的令人满意.

除非有人建议一些非常好的东西,否则我将不得不妥协(但请不要让我使用theargs 的前缀!),所以我很想听听大多数人说的话 - 尤其是来自那些一直使用ObjC的人.

在发布这个之前我做了一些尽职调查,并且发现了一些很好的资源:

他们给了我一些想法,但我仍然渴望听到别人在做什么.

[编辑]只是为了澄清:具体是你如何区分我正在寻找的方法和方法 - 无论是通过前缀还是其他技术.

[编辑2]感谢所有的回复和讨论要点.我不是要关闭这个,但只是说,正如我在评论中指出的那样,我接受了使用init args前缀的惯例the(以及setter args with new,无论如何我都在做).这似乎是力量的最佳平衡 - 即使我自己并不热衷于审美.

coding-style objective-c naming-conventions prefix

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

在VS2008中可视化树

我一直在为autoexp.dat添加一些类型的可视化工具.即使是每个人都回顾的博客(甚至是微软的家伙!),有时也是一场斗争.

但我完全被#tree可视化工具所困扰.首先,博客文章似乎在其描述中充满漏洞(并且没有其他材料我能够找到地址 - 但其他人已经明确地使其工作).特别是似乎有一些神奇的案例,它知道取消引用一个指针 - 但我无法确定我是否反过来设计了意图.当你使用$ c和$ e时,似乎也存在一些模糊性.AFAICS它们似乎是可以互换的 - 也许两者都可以作为可读性的辅助手段?或者它们真的意味着不同的东西(例如,博客使用$ e,其中VS2008附带的stl可视化器使用$ c).

但真正缺少的是对它们如何融合在一起的解释.我原以为它会遵循这个过程:

  1. 应用"head"规则到达起始节点(通过指针)
  2. 将deref规则(末尾的位)应用于解除引用的当前节点以获取可视化的值.
  3. 将左右规则应用于解除引用的当前节点以分别到达左节点和右节点(通过指针 - 使用null作为终止符,除非指定了跳过规则).
  4. 转到(2)直到访问了所有节点.

显然有一个我左右导航的算法,我已经掩盖了.那不是太重要.更重要的是在每个阶段和解除引用时都会考虑哪些值.

这似乎是我能想到的唯一适合我见过的例子的过程.但我一直无法使用我们的树实现.我只是得到(错误)应该显示#tree子项(我为每个节点得到一个(错误),所以我假设正确捕获了大小).我已经尝试过我能想到的各种变化 - 最多次!

令我困惑的另一件事是,我见过的许多例子,包括捆绑的stl,从头部导航到父级(或类似的),并跳过头节点.他们为什么这样做?

这是我正在使用的可视化工具(我尝试过的其中一种形式 - 名称已更改为保护...公司):

MyTree<*,*,*>{
    children(
        #(
            [raw members]: [$c,!],
            #tree
            (
                head : $c.m_root.m_p,
                size : $c.m_size,
                left : left.m_p,
                right : right.m_p
            ) : $e.value
        )
    )
}
Run Code Online (Sandbox Code Playgroud)

这里是我的树类的一些伪代码:

MyTree:
    Ptr<Note> m_root
    int m_size

Node:
    ValueT value
    Ptr<Node> left
    Ptr<Node> right
Run Code Online (Sandbox Code Playgroud)

...其中Ptr <>是一个智能指针,将原始指针保存在m_p中.

任何帮助将不胜感激.

c++ tree visualization visual-studio-2008

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

排序谓词的链接(例如对于std :: sort)

您可以将函数指针,函数对象(或boost lambda)传递给std :: sort,以定义要排序的容器元素的严格弱排序.

但是,有时候(足够我已经多次击中这个),你希望能够链接"原始"比较.

如果您正在排序表示联系人数据的对象集合,那么这将是一个简单的例子.有时你会想要排序

last name, first name, area code
.其他时间
first name, last name
- 还有其他时间
age, first name, area code
......等

现在,您当然可以为每个案例编写一个额外的函数对象,但这违反了DRY原则 - 特别是如果每​​个比较都不那么简单.

好像你应该能够写的比较功能的层次 - 水平低的人做单,原始,比较(例如,名字<名字),然后更高层次的人打电话相继较低级别的人(可能与链接&&使用短路评估)来生成复合函数.

这种方法的问题在于std :: sort采用二元谓词 - 谓词只能返回一个bool.因此,如果您正在编写它们,则无法判断"假"是表示相等还是大于.你可以让你的下级谓词返回一个int,具有三种状态 - 但你必须包裹在那些更高级别的谓词,他们可以用的std ::对自己的排序在使用之前.

总之,这些并非不可克服的问题.它似乎比它应该更难 - 并且肯定会邀请一个帮助库实现.

因此,有没有人知道任何预先存在的库(特别是如果它是std或boost库)可以帮助到这里 - 对此事有任何其他想法?

[更新]

正如一些评论中提到的那样 - 我已经开始编写自己的类实现来管理它.它相当小,并且可能在一般情况下存在一些问题.但在此基础上,对于任何有兴趣的人,课程在这里:

http://pastebin.com/f52a85e4f

一些辅助函数(以避免需要指定模板args)在这里:

http://pastebin.com/fa03d66e

c++ sorting stl compare predicate

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

当试图退出C++ 11 std lib时,调试器会更深入

我在Xcode 4.5中使用(Apple)LLVM 4.1(但我在之前的测试版中看到了相同的内容).我将它定位到C++ 11并使用libc ++(新的,支持C++ 11,std库的LLVM版本).

在调试版本中,如果我尝试跳过调用std库函数的代码(例如std :: vector构造函数),调试器会在std lib实现中停止,如果我尝试跳出它更深入的步骤!在我回到我自己的代码之前,可能需要几次(有时10次或更多次)的步骤(而且我从来没有想过要介入这个地方).

似乎总是有一个_LIBCPP_DEBUG宏,以及_LIBCPP_INLINE_VISIBILITY - 但这些似乎无处不在,所以我不确定它是一个相关性.但是,它似乎与内联的工作方式有关.

我还没有找到任何其他有这个问题的例子 - 但是,对于我来说,它已经持续了几个测试版 - 进入发布 - 并通过完全重新安装操作系统.

有没有人见过这个? - 但更好的是还知道发生了什么?

c++ debugging llvm xcode4 c++11

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