问题列表 - 第4030页

UIScrollView缩放后如何重置?

我有一个图形被绘制在一个UIScrollView.它是一个UIView使用自定义子类CATiledLayer作为其层的大型.

当我放大和缩小时UIScrollView,我希望图形动态调整大小,就像我从图表返回时一样viewForZoomingInScrollView.但是,Graph在新的缩放级别重绘自己,我想将变换比例重置为1x1,以便下次用户缩放时,变换从当前视图开始.如果我将转换重置为Identity in scrollViewDidEndZooming,它可以在模拟器中工作,但会EXC_BAD_ACCSES在设备上抛出.

这甚至都没有在模拟器上完全解决问题,因为下次用户放大时,变换将自身重置为它所处的任何缩放级别,因此看起来,如果我缩放到2x,例如,它突然达到4倍.当我完成缩放时,它以正确的比例结束,但实际的缩放行为看起来很糟糕.

首先:如何让图形在缩放后以1x1的标准比例重绘自己,如何在整个过程中进行平滑缩放?

编辑:新发现错误似乎是" [CALayer retainCount]: message sent to deallocated instance"

我自己永远不会释放任何图层.在此之前,我甚至没有删除任何观点或任何内容.在缩放和旋转时抛出此错误.如果我在旋转之前删除对象并在之后重新添加它,它不会抛出异常.这不是缩放的选项.

iphone cocoa-touch zooming uiscrollview ios

16
推荐指数
4
解决办法
5万
查看次数

如何为除最后一行之外的所有行追加换行符?

我正在迭代HashMap(请参阅我之前的问题以获取更多详细信息)并构建一个由Map中包含的数据组成的字符串.对于每个项目,我将有一个新行,但对于最后一项,我不想要新行.我怎样才能做到这一点?我以为我可以这么检查,看看这个条目是否是最后一个,但我不确定如何实际做到这一点.

谢谢!

java foreach newline

32
推荐指数
5
解决办法
9万
查看次数

友情的Windows最低版本InnoSetup

我可以在Inno-Setup中设置所需的最低版本(例如XP SP3)

MinVersion=0,5.01.2600
Run Code Online (Sandbox Code Playgroud)

但是,这会导致相当不友好的消息框:

This program requires Windows NT version 5.1.2600 or later.

有没有办法让这样说:

This program requires WindowsXP Service Pack 3 or later.

inno-setup

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

我的简单poll()示例仅部分有效

我已经包含了以下代码.该程序应该接受端口8888上的telnet连接,然后使用poll和send和recv从每个telnet客户端发送和消息,但它不是100%工作.似乎某些连接总是可以向任何人发送消息,并且程序运行正常,但总有至少一个客户端无法发送消息.所有客户都可以随时收到.(民意调查不会注册传入的数据)

这段代码自己运行,所以如果你把它放在一个文件中并用gcc -o app filename.c编译它,那么你可以通过端口8888 telnet到localhost并看到它无效.:-(这段代码是为Fedora编写的,但不应该有任何非特定于Linux的内容.任何帮助都会非常感激.

#include <stdio.h>
#include <stdlib.h>
#include <poll.h>
#include <unistd.h>
#include <sys/time.h>
#include <sys/types.h>
#include <string.h>
#include <signal.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <errno.h>

#define PORT 8888
#define MAX_CONN 10
#define SECOND 1000
#define TIMEOUT (30 * SECOND)

static int listen_socket();

int main(int argc, char **argv)
{
    struct pollfd **my_fds;                  //array of pollfd structures for poll()
    struct pollfd *curr, *new_conn;          //so I can loop through
    int num_fds;                             //count of how many are being used …
Run Code Online (Sandbox Code Playgroud)

c sockets networking polling

6
推荐指数
1
解决办法
3万
查看次数

如何创建VIM或Vi命令以删除文本文件中每一行的特定字符后的所有文本?

场景:

  • 我有一个文本文件,其中包含管道(如|字符中)分隔的数据.
  • 管道分隔字段中的每个数据字段可以是可变长度的,因此计数字符将不起作用(或使用某种子字符串函数......如果它甚至存在于Vim中).

是否有可能使用Vim/Vi将第二个管道中的所有数据删除到整个文件的行尾?有大约150,000行,所以手动这样做只会吸引受虐狂......

例如

更改以下行:

1111|random sized text 12345|more random data la la la|1111|abcde
2222|random sized text abcdefghijk|la la la la|2222|defgh
3333|random sized text|more random data|33333|ijklmnop
Run Code Online (Sandbox Code Playgroud)

至:

1111|random sized text 12345
2222|random sized text abcdefghijk
3333|random sized text
Run Code Online (Sandbox Code Playgroud)

我确信这可以以某种方式完成......我希望.

TIA

更新:我应该提到我在Windows XP上运行它,所以我无法访问一些提到的*nix命令(在Windows上无法识别CUT).

regex vi vim replace

15
推荐指数
3
解决办法
8116
查看次数

为什么这些文件夹的共享名称附有美元符号?

我最近与一家刚刚失去服务器/网络管理员的公司进入网络开发职位.虽然我被聘用进行网络开发,但我被要求在服务器上做一些日常维护任务,但我仍然遇到麻烦,没有这种东西的背景.我们失去了与旧网络管理员的所有通信,这没有任何帮助.

这是情况.在大学的这部分几十个老师曾共享服务器(Windows Server 2003中,SP 2)如目录\\servername\Jones$,\\servername\Smith$\\servername\Watson$.我的问题是:为什么共享名称附有美元符号?它似乎不是技术要求,也不区分这些文件夹与其他类似命名的文件夹.这种标准风格,某种我无法理解的要求,或者我应该作为上一个管理员怪癖的产品而被注销的东西?

对于有点蹩脚的问题道歉,但我无法弄清楚这一点,并且我一直在继续添加带有美元符号附加共享名称的新目录,因为我不确定它是否真的有必要.

networking

59
推荐指数
6
解决办法
8万
查看次数

关联结束未映射到ADO实体框架中

我刚刚开始使用ADO.net实体框架我已将两个表一起映射并收到以下错误:

Error   1   Error 11010: Association End 'OperatorAccess' is not mapped.    E:\Visual Studio\projects\Brandi II\Brandi II\Hospitals.edmx    390 11  Brandi II
Run Code Online (Sandbox Code Playgroud)

不知道是什么我做错了

vb.net ado.net entity-framework visual-studio-2008

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

使用C#Regular表达式替换XML元素内容

我正在编写一些处理日志记录xml数据的代码,我希望能够替换文档中某些元素(例如密码)的内容.我宁愿不序列化和解析文档,因为我的代码将处理各种模式.

样本输入文件:

doc#1:

   <user>
       <userid>jsmith</userid>
       <password>myPword</password>
    </user>
Run Code Online (Sandbox Code Playgroud)

doc#2:

<secinfo>
       <ns:username>jsmith</ns:username>
       <ns:password>myPword</ns:password>
 </secinfo>
Run Code Online (Sandbox Code Playgroud)

我希望我的输出是:

输出文档#1:

<user>
       <userid>jsmith</userid>
       <password>XXXXX</password>
 </user>
Run Code Online (Sandbox Code Playgroud)

输出文档#2:

<secinfo>
       <ns:username>jsmith</ns:username>
       <ns:password>XXXXX</ns:password>
 </secinfo>
Run Code Online (Sandbox Code Playgroud)

由于我将要处理的文档可能有各种模式,我希望能够找到一个很好的通用正则表达式解决方案,它可以找到带有密码的元素并相应地屏蔽内容.

我可以使用正则表达式和C#解决这个问题,还是有更有效的方法?

.net c# regex xml parsing

4
推荐指数
3
解决办法
2万
查看次数

如何使用跨越多个服务器链接的程序的事务?

我正在尝试测试我们的某个供应商向我们提供访问其产品数据库的提议,并且它涉及跨越多个服务器的查询和事务.我以前从来没有直接在数据库上做过这件事,坦率地说,我很无能为力,所以我试图模仿一个证据,证明这至少在概念上是有效的.

我有两个SQL Server 2005服务器.让我们为了论证的缘故,将它们称为Server1和Server2 [掌握你的掌声],每个都包含一个虚拟数据库.Server1上的虚拟数据库称为Source,而Server2上的虚拟数据库称为Destination,只是为了简单起见.每个数据库分别拥有一个名为Input和Output的表,因此结构的准解释如下:

  • Server1.Source.dbo.Input
  • Server2.Destination.dbo.Output

我在Server2上有一个名为WriteDataToOutput的存储过程,它接收一个Varchar参数并将其内容写入输出表.

现在诡计开始了:

  1. 我想在Server1.Source上创建一个存储过程,它调用Server2上定义的WriteDataToOutput存储过程,这看似简单的步骤.
  2. 我希望此调用是事务的一部分,以便如果调用它的过程失败,则回滚整个事务.

在这里,我努力学习如何做.谁能指出我正确的方向?我在同一台服务器上的两个不同的数据库上试过这个,它运行得很好,让我觉得它可以在不同的服务器上工作,问题是,我该如何做这样的事情?我从哪里开始?

t-sql transactions sql-server-2005

6
推荐指数
2
解决办法
1468
查看次数

NHibernate测试,嘲笑ISession

我正在使用NHibernate和Rhinomocks,并且无法测试我想要的内容.我想在不命中数据库的情况下测试以下存储库方法(其中_session作为ISession注入到存储库中):

public class Repository : IRepository
{
    (... code snipped for brevity ...)

    public T FindBy<T>(Expression<Func<T, bool>> where)
    {  
        return _session.Linq<T>().Where(where).FirstOrDefault();
    }
}
Run Code Online (Sandbox Code Playgroud)

我最初的方法是模拟ISession,并在调用Linq时返回IQueryable存根(手动编码).我有一个客户对象的IList,我想在memeory中查询以测试我的Linq查询代码而不会访问db.我不确定这会是什么样子.我是否编写自己的IQueryable实现?如果是这样,有人为这种方法做了这个吗?或者我需要查看其他途径?

谢谢!

nhibernate iqueryable mocking

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