问题列表 - 第10416页

使用NSMutableDictionary与NSMutableArray>产生的性能损失

我正在考虑使用NSMutableDictionary代替我当前的NSMutableArray.这主要是出于KVC/KVO的原因.该集合将在我的绘图方法的内循环中经历重度变异.如果我继续进行此次更换,我是否可以预期会受到重大影响?

干杯,道格

performance cocoa key-value-observing key-value-coding data-structures

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

一个跟踪插入顺序的std :: map?

我目前有一个std::map<std::string,int>存储整数值到唯一字符串标识符,我确实查找字符串.它主要是我想要的,除了它不跟踪插入顺序.因此,当我迭代地图以打印出值时,它们将根据字符串进行排序; 但是我希望它们按照(第一次)插入的顺序排序.

我想过使用一个vector<pair<string,int>>替代,但我需要查找字符串并将整数值增加大约10,000,000次,所以我不知道是否std::vector会明显变慢.

有没有办法使用std::map或是否有std更适合我需要的容器?

[我在GCC 3.4上,我的价值可能不超过50对std::map].

谢谢.

c++ dictionary std insertion-order

98
推荐指数
5
解决办法
7万
查看次数

从业务层分离表示层

从我刚读过的一篇文章来看,

UI层抽象

那么表示层和业务层之间的完全分离是否有任何挫折?

这个问题实际上来自跟踪进程(某些指令系列)的进度并相应地更新进度条的问题.

现在,唯一知道实际进展的人就是流程本身,而且是业务层.因此,如果两个图层都是相互独立的,那么如何在不踩到表示层的域的情况下从业务层内到达进度条?或者至少将进度值返回到表示层?

architecture

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

No-op lambda

我在我的一个类上有一个事件,我想附加一个处理程序.但是,我不需要处理程序来做任何事情,因为我只是测试附加或不附加处理程序的类的行为.

事件签名如下:

public event EventHandler<EventArgs> Foo;
Run Code Online (Sandbox Code Playgroud)

所以我想做一些事情:

myClass.Foo += ();
Run Code Online (Sandbox Code Playgroud)

但是,这不是有效的lambda表达式.表达这种最简洁的方式是什么?

.net c# lambda

22
推荐指数
4
解决办法
4154
查看次数

是否可以以编程方式向WinForm添加一些控件?

我有一个非常简单的rectangluar WinForm,它使用计时器来检查许多文件的最终内容.工作良好.

现在,要检查的文件列表是动态的.可能是3.可能是30.它取决于数据库中的某些值,我定期检查.那也没关系.

在我的winform上,我想做的就是视觉化.对于每个文件,都有一个红色圆圈.当文件被"检查"时,将该圆圈显示为绿色.一旦完成,再次变红.

  1. 如何以编程方式显示此圈的一行(或多行)?我知道表格的宽度,如果有帮助的话.请记住,如果我将它们拖放到设计器上,我不知道要显示多少.我需要能够动态地做到这一点:)
  2. 如何将此圆圈从红色切换/翻转为绿色,然后将绿色切换为红色?
  3. 圈子是什么?我在MSPaint中制作的自定义图像(例如png)并将其作为嵌入式资源添加到项目中?

干杯!

.net winforms

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

是否可以在传递给泛型方法的类型上调用方法?

是否可以在传递给泛型方法的类型上调用方法?

就像是:

public class Blah<T>
{

    public int SomeMethod(T t)
    {
          int blah = t.Age;
          return blah;

    }

 }
Run Code Online (Sandbox Code Playgroud)

c# generics

5
推荐指数
2
解决办法
177
查看次数

在python中重新分配列表

好的,这是我的问题。我正在尝试这样的事情:

for i in big_list:
   del glist[:]

   for j in range(0:val)
         glist.append(blah[j])
Run Code Online (Sandbox Code Playgroud)

想法是重置列表,并将其重新用于下一组数据点。问题是由于某种原因,如果第一个列表有3分,

glist[0]
glist[1]
glist[2]
Run Code Online (Sandbox Code Playgroud)

下一个列表将从索引3继续,并将最后3个元素存储在这些索引中

glist[0] = 4th elem of new list
glist[1] = 5th elem of new list
glist[2] = 6th elem of new list
glist[3] = 1st elem of new list
glist[4] = 2nd elem of new list
glist[5] = 3rd elem of new list
Run Code Online (Sandbox Code Playgroud)

我确定这是分配空间的问题。但是我如何才能实现此del g_list [:],所以结果是,

glist[0] = 1st elem of new list
glist[1] = 2nd elem of new list
glist[2] = 3rd elem …
Run Code Online (Sandbox Code Playgroud)

python collections memory-management list

0
推荐指数
1
解决办法
469
查看次数

如何让Python检查ftp目录是否存在?

我正在使用此脚本连接到示例ftp服务器并列出可用目录:

from ftplib import FTP
ftp = FTP('ftp.cwi.nl')   # connect to host, default port (some example server, i'll use other one)
ftp.login()               # user anonymous, passwd anonymous@
ftp.retrlines('LIST')     # list directory contents
ftp.quit()
Run Code Online (Sandbox Code Playgroud)

如何使用ftp.retrlines('LIST')输出来检查目录(例如public_html)是否存在,是否存在cd,然后执行其他一些代码并退出; 如果不立即执行代码并退出?

python ftp

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

如何使子div总是适合父div?

我的问题是,如果你不能事先知道父div的大小,有没有办法,不使用JavaScript,导致子div延伸到其父级的边界,而不超过这些边界?

下面是演示我的问题的示例标记/样式.如果将其加载到浏览器中,您将看到它#two并且#three都延伸到其父级之外#one,并导致滚动条出现.

我的问题不在于滚动条,而是我不知道如何告诉子div占用剩余的宽度或高度,而不是父级的全高或宽度.

<html>
    <head>
        <style>
            html, body {width:100%;height:100%;margin:0;padding:0;}
            .border {border:1px solid black;}
            .margin { margin:5px;}
            #one {width:100%;height:100%;}
            #two {width:100%;height:50px;}
            #three {width:100px;height:100%;}
        </style>
    </head>
    <body>
        <div id="one" class="border">
            <div id="two" class="border margin"></div>
            <div id="three" class="border margin"></div>
        </div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

html css parent

50
推荐指数
5
解决办法
18万
查看次数

UIScrollView中的优化图像加载

我有一个UIScrollView,其中包含一组并排加载的图像.你可以在这里看到我的应用程序的一个例子:http://www.42restaurants.com.我的问题在于内存使用情况.我想懒得加载图像,因为它们即将出现在屏幕上并卸载不在屏幕上的图像.正如您在代码中看到的那样,我至少需要加载哪个图像,然后将加载部分分配给NSOperation并将其放在NSOperationQueue上.除了生涩的滚动体验之外,一切都很棒.

我不知道是否有人有任何关于如何使其更加优化的想法,以便每个图像的加载时间最小化或使滚动不那么生涩.

- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
    [self manageThumbs];    
}

- (void) manageThumbs{
    int centerIndex = [self centerThumbIndex];
    if(lastCenterIndex == centerIndex){
        return;
    }

    if(centerIndex >= totalThumbs){
        return;
    }

    NSRange unloadRange;
    NSRange loadRange;

    int totalChange = lastCenterIndex - centerIndex;
    if(totalChange > 0){ //scrolling backwards
        loadRange.length = fabsf(totalChange);
        loadRange.location = centerIndex - 5;
        unloadRange.length = fabsf(totalChange);
        unloadRange.location = centerIndex + 6;
    }else if(totalChange < 0){ //scrolling forwards
        unloadRange.length = fabsf(totalChange);
        unloadRange.location = centerIndex - 6;
        loadRange.length = fabsf(totalChange);
        loadRange.location = …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c uiscrollview uiimage

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