问题列表 - 第22939页

屏幕上有多个视图控制器?

我试图在Cocoa Touch中围绕控制器.主要问题是我希望同时在屏幕上显示多个控制器 - 我希望有一个大视图(控制器A)由他们自己的控制器控制的较小视图组成(比如说B).我希望这样做,因为该部门使代码更清晰.有什么不好的是,附加控制器(B类)不是屏幕上的"一等公民",例如他们没有收到自动轮询查询和通知.(并且无法轻松显示模态控制器,他们必须将presentModal…消息发送到其父控制器.)

Cocoa观点的A和B控制器之间有什么区别?系统是否保留某种指向"最前面的控制器"的指针,这是一个特权的指针,它发送通知和这些东西?为什么其他控制器不接收它们,即使它们的视图在屏幕上?在屏幕上有多个控制器被认为是黑客?或者它是否受到支持,我只是错过了一些观点?谢谢.


更多关于我试图解决的问题:我正在编写一个简单的照片浏览器.照片以全屏显示,用户可以向左或向右滑动以更改照片.A控制器负责滚动部分,B控制器负责处理每张照片本身.

隔离B似乎是一个好主意,因为照片是从网络加载的,并且有很多可能发生的事情,比如网络可能已经停止等等.在B控制器中,代码非常简单,因为B仅适用于一张特定的照片.如果我将代码移动到A控制器,事情会变得混乱.

我唯一不喜欢当前的解决方案是我必须手动解决B不是"一流"控制器.我必须通过A到B手动传递一些调用,当B想要显示模态对话框时,它必须发送presentModal…给A.这很难看.

iphone cocoa-touch uiviewcontroller

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

使用Ninject.Web.Mvc 2.0和ASP.NET MVC 1.0时出现"多个匹配的绑定可用"错误

最近我切换到Ninject 2.0版本并开始收到以下错误:

Error occured: Error activating SomeController
More than one matching bindings are available.
Activation path:
  1) Request for SomeController

Suggestions:
  1) Ensure that you have defined a binding for SomeController only once.

但是,我无法找到某种复制路径.有时它会发生,有时它不会发生.我正在使用NinjectHttpApplication自动控制器注入.控制器在单独的程序集中定义:

public class App : NinjectHttpApplication
{
    protected override IKernel CreateKernel()
    {
        INinjectModule[] modules = new INinjectModule[] {
            new MiscModule(),
            new ProvidersModule(),
            new RepositoryModule(),
            new ServiceModule()
        };

        return new StandardKernel(modules);
    }

    protected override void OnApplicationStarted()
    {
        RegisterRoutes(RouteTable.Routes);
        RegisterAllControllersIn("Sample.Mvc");
        base.OnApplicationStarted();
    }

    /* ............. */

}
Run Code Online (Sandbox Code Playgroud)

也许有人熟悉这个错误. …

asp.net-mvc ninject

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

Python解压缩gzip chunk-by-chunk

我有一个内存和磁盘有限的环境,我需要解压缩基于字符串的块(通过xmlrpc二进制传输)发送给我的gzip文件的内容.但是,在gzip头上使用zlib.decompress()或zlib.decompressobj()/ decompress()两个barf.我试过偏移gzip标题(这里记录),但仍然没有设法避免barf.gzip库本身似乎只支持从文件解压缩.

下面的代码片段简要说明了我想要做的事情(除了在现实生活中缓冲区将从xmlrpc填充,而不是从本地文件读取):

#! /usr/bin/env python

import zlib

CHUNKSIZE=1000

d = zlib.decompressobj()

f=open('23046-8.txt.gz','rb')
buffer=f.read(CHUNKSIZE)

while buffer:
  outstr = d.decompress(buffer)
  print(outstr)
  buffer=f.read(CHUNKSIZE)

outstr = d.flush()
print(outstr)

f.close()
Run Code Online (Sandbox Code Playgroud)

不幸的是,正如我所说,这个barfs:

Traceback (most recent call last):
  File "./test.py", line 13, in <module>
    outstr = d.decompress(buffer)
zlib.error: Error -3 while decompressing: incorrect header check 
Run Code Online (Sandbox Code Playgroud)

从理论上讲,我可以将我的xmlrpc源数据提供给StringIO,然后将其用作gzip.GzipFile()的fileobj,但是,在现实生活中,我没有可用于将整个文件内容保存在内存中的内存作为解压缩的数据.我真的需要一块一块地处理它.

后退将是将我的xmlrpc源数据的压缩从gzip更改为普通zlib,但由于这会影响其他子系统,我希望尽可能避免使用它.

有任何想法吗?

python gzip zlib

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

如何在Javascript中赋值期间附加字符串值?

嘿,我不知道这是否可能,但我想通过引用在js中设置一个给定的变量.

我想要做的是,每次我将字符串传递给函数时addstring,文本字段的值被添加为+ =

function addstring(string)
{
    document.getElementById("string").value = string; // its a textfield

}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

javascript variable-assignment

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

适用于C++ Builder的WinCheat/WinSpy工具exes

我在5年或更长时间后回到C++ Builder.我似乎记得一个很好的工具,我可以将其指针拖到我正在运行的应用程序的GUI上,并获得有关指向的大量信息 - 句柄,大小,文本,父级,子级等

IIRC,如果exe包含调试信息,我也可以获得源中使用的实际变量名.

有谁知道我在说什么节目?谢谢

debugging c++builder

5
推荐指数
1
解决办法
4185
查看次数

在Pascal中使用#

Q1:这是什么意思:WriteLn (#$0b)

$0b应该是十六进制的0x0b,但#标志呢?

Q2:

x:=readkey;
if ( x = #5) do...
Run Code Online (Sandbox Code Playgroud)

是否#5意味着5?那么#标志是什么?

非常感谢.

pascal

7
推荐指数
1
解决办法
294
查看次数

rails/mysql - 如何使ActiveRecord :: StatementInvalid错误无声?

我正在编写一个代码来处理读/未读消息,使用一个简单的user_id/message_id mysql表来处理读/未读状态.

当用户查看消息时,我执行

Reading.create(:user_id => uid, :message_id => mid)
Run Code Online (Sandbox Code Playgroud)

user_id/message_id字段组合中有唯一索引,因此当读数中的条目已经存在时,我得到有关重复条目的ActiveRecord :: StatementInvalid错误.

现在我可以补充一下

unless Reading.exists?(:user_id => uid, :message_id => mid)
 Reading.create(:user_id => uid, :message_id => mid)
end
Run Code Online (Sandbox Code Playgroud)

但我想这会在INSERT之前再添加一个SELECT查询

我宁愿只有一个INSERT,即使它失败也没有错误报告(我猜REPLACE会是最好的,但是afaik它在ActiveRecord中不可用).

mysql activerecord

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

使用Haskell的Parsec来解析二进制文件?

Parsec旨在解析文本信息,但我发现Parsec也适合对包含条件段,无序段等的复杂格式进行二进制文件格式解析.

是否有能力做到这一点或类似的替代方案,这样做?如果没有,Haskell解析二进制文件格式的最佳方法是什么?

binary parsing haskell

13
推荐指数
2
解决办法
3688
查看次数

将字节数组转换为一个十进制数字作为字符串

我正在尝试编写将任意大字节数组(大于64位)转换为c#中表示为字符串的十进制数的函数,我根本无法弄清楚如何去做.

例如以下代码......

Console.WriteLine(ConvertToString(
  new byte[]
  { 
    0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 
    0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF, 0x00
  }));
Run Code Online (Sandbox Code Playgroud)

..应打印出来

22774453838368691933757882222884355840
Run Code Online (Sandbox Code Playgroud)

我不想仅仅使用像biginteger这样的额外库,因为我希望它很简单并且想要了解它是如何工作的.

.net c#

9
推荐指数
2
解决办法
2013
查看次数

使用.NET从FileStream的特定位置读取数据

我试图从文件流中读取数据,如下所示:

fileStream.Read(byteArray, offset, length);
Run Code Online (Sandbox Code Playgroud)

问题是我的偏移和长度是无符号Ints,上面的函数只接受整数.如果我对int进行类型转换,我得到的偏移值为负值,这是无意义的,不能被函数接受.

偏移量和长度最初取自另一个字节数组,如下所示:

BitConverter.ToUInt32(length, 0); //length is a 4 byte long byte-array
Run Code Online (Sandbox Code Playgroud)

从文件流的任意位置读取的正确方法是什么.

.net c#

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