问题列表 - 第11996页

iPhone子视图设计(UIView vs UIViewController)

我正在设计一个简单的测验应用程序.应用程序需要显示不同类型的QuizQuestions.每种类型的QuizQuestion都有不同的行为和UI.

用户界面将是这样的: alt text http://dl.getdropbox.com/u/907284/Picture%201.png

我希望能够在Interface Builder中设计每种类型的QuizQuestion.

例如,MultipleChoiceQuizQuestion将如下所示: alt text http://dl.getdropbox.com/u/907284/Picture%202.png

最初,我计划将QuizQuestion类设为UIViewController.但是,我在Apple文档中读到UIViewControllers应该只用于显示整个页面.

因此,我制作了我的QuizController(管理整个屏幕,例如prev/next按钮)UIViewController,我的QuizQuestion类是UIView的子类.

但是,要加载这个UIView(在IB中创建),我必须[1]在我的构造函数中执行以下操作:

//MultipleQuizQuestion.m
+(id)createInstance {
    UIViewController *useless = [[UIViewController alloc] initWithNibName:@"MultipleQuizQuestion" bundle:nil];
    UIView *view = [[useless.view retain] autorelease];
    [useless release];
    return view; // probably has a memory leak or something
}
Run Code Online (Sandbox Code Playgroud)

这种类型的访问似乎不是标准的或面向对象的.这种类型的代码是正常/可接受的吗?或者我在设计的某个地方做出了糟糕的选择?

谢谢,

编辑(为了清楚起见):我想有一个单独的类来控制multipleChoiceView ...就像一个ViewController,但显然只适用于整个窗口.也许我应该创建一个MultipleChoiceViewManager(而不是控制器!)并将文件的所有者设置为它?

iphone cocoa-touch objective-c uiviewcontroller uiview

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

使用Python的HTTP POST二进制文件:简洁的非pycurl示例?

我有兴趣编写一个简短的python脚本,它通过POST请求将一个简短的二进制文件(.wav/.raw音频)上传到远程服务器.

我用pycurl完成了这个,这使得它非常简单并且产生了一个简洁的脚本; 不幸的是,它还要求最终用户安装了pycurl,我不能依赖它.

我在其他帖子中也看到了一些仅依赖于基本库,urllib,urllib2等的例子,但这些通常看起来相当冗长,这也是我想要避免的.

我想知道是否有任何简洁的例子不需要使用外部库,并且第三方可以快速方便地理解 - 即使他们不是特别熟悉python.

我目前使用的是什么样的,


def upload_wav( wavfile, url=None, **kwargs ):
    """Upload a wav file to the server, return the response."""

    class responseCallback:
        """Store the server response."""
        def __init__(self):
            self.contents=''
        def body_callback(self, buf):
            self.contents = self.contents + buf

        def decode( self ):
            self.contents = urllib.unquote(self.contents)
            try:
                self.contents = simplejson.loads(self.contents)
            except:
                return self.contents

    t = responseCallback()
    c = pycurl.Curl()
    c.setopt(c.POST,1)
    c.setopt(c.WRITEFUNCTION, t.body_callback)
    c.setopt(c.URL,url)
    postdict = [
        ('userfile',(c.FORM_FILE,wavfile)),  #wav file to post                                                                                 
        ]
    #If there are extra keyword args …
Run Code Online (Sandbox Code Playgroud)

python binary post http

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

使用VBA for Excel的HTTPS POST请求

我使用"WinHttp.WinHttpRequest.5.1"从Excel中的VBA发送HTTP POST请求.但我无法为HTTPS做这件事,因为我收到了SSL证书错误.

您将使用什么VBA代码来协商从Excel中的VBA到网站的SSL连接?

excel https post vba

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

钻石问题

我正在经历钻石问题,思想会在各种情况下发挥作用.这是我正在研究的其中一个.

#include <iostream> 
using namespace std;
class MainBase{

    public:
    int mainbase;
    MainBase(int i):mainbase(i){}
    void geta()
    {
        cout<<"mainbase"<<mainbase<<endl;
    }
};
class Derived1: public MainBase{

    public:
    int derived1;
    int mainbase;
    Derived1(int i):MainBase(i),derived1(i) {mainbase = 1;}
    public:
    void getderived1()
    {
        cout<<"derived1"<<derived1<<endl;
    }

};
class Derived2: public MainBase{

    public:
    int derived2;
    int mainbase;
    Derived2(int i):MainBase(i),derived2(i){mainbase = 2;}
    public:
    void getderived2()
    {
        cout<<"derived2"<<derived2<<endl;
    }
};
class Diamond: public Derived1, public Derived2{

    public:
    int diamond;
    int mainbase;
    Diamond(int i,int j, int x):Derived1(j),Derived2(x),diamond(i){mainbase=3;}
    public:
    void getdiamond()
    { …
Run Code Online (Sandbox Code Playgroud)

c++ multiple-inheritance diamond-problem

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

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

如果我自己调用run()方法会发生什么?

在主要方法中如果我写这个:

Thread aThread = new Thread();
aThread.run();
Run Code Online (Sandbox Code Playgroud)

会发生什么???

java multithreading

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

需要在python中的迭代器的开头添加一个元素

我有一个程序如下:

a=reader.next()
if *some condition holds*:
    #Do some processing and continue the iteration
else:
    #Append the variable a back to the iterator
    #That is nullify the operation *a=reader.next()*
Run Code Online (Sandbox Code Playgroud)

如何在迭代器的开头添加元素?(或者有更简单的方法吗?)

编辑:好的,让我这样说吧.我需要迭代器中的下一个元素而不删除它.我该怎么做>?

python iterator

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

绑定和取消绑定在jquery中意味着什么?

在愚蠢的慢慢学习者术语中,jquery中绑定和解除绑定意味着什么?

javascript jquery binding

7
推荐指数
2
解决办法
6035
查看次数

将密码存储到sql的最佳方法

在我目前的C#windows应用程序中,密码以纯文本形式存储,这显然不是很好.所以我只想知道加密密码并存储到SQL Server的最佳方法是什么.我已经读过使用hash + salt更好.但我觉得"EncryptByPassPhrase","DecryptByPassPhrase"在sql 2005中的新功能更好用,因为你正在处理SQL Server本身的所有内容,我想它使用的是三重DES.有人建议使用它是否好?

c# passwords sql-server-2005

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

如何在tomcat/logs文件夹中创建日志文件

我正在使用log4j登录应用程序.

现在日志文件是在某个位置创建的,比如j:/logs/mylog.log,我希望在tomcat/logs foder中创建日志文件mylog.log.

怎么设置这个?

现在当前的log4j属性如下

log4j.appender.fileAppender=org.apache.log4j.DailyRollingFileAppender

log4j.appender.fileAppender.datePattern=dd MMM yyyy
log4j.appender.fileAppender.file=/logs/test/parent/LearnFile.log
Run Code Online (Sandbox Code Playgroud)

java logging log4j

8
推荐指数
1
解决办法
8774
查看次数