问题列表 - 第41318页

驼鹿胁迫和建设者

这是我之前关于Moose结构类型的问题的结果.我为这个问题的长度道歉.我想确保包含所有必要的细节.

MyApp::Type::Field定义结构化类型.我使用强制来允许value从我的Person类中更容易地设置其属性(参见下面的示例).请注意,在我的实际应用程序中,Field类型不仅仅用于一个人的名字,我还强制使用HashRef.

我还需要在构建时设置MyApp::Type::Field sizerequired只读属性MyApp::Person.我可以使用构建器方法执行此操作,但如果使用强制,则不会调用此方法,因为我的强制直接创建了一个新对象,而不使用构建器方法.

我可以通过添加一个around方法修饰符MyApp::Person(参见下面的示例)来解决这个问题,但这会让人觉得麻烦.该around法修改被频繁调用,但我只需要设置只读的属性一次.

有没有更好的方法来做到这一点,同时仍然允许强制?该MyApp::Type::Field班不能初始化size,并required通过默认设置或建筑商,因为它没有办法知道的值应该是什么样的方式.

可能只是我放弃强制而不支持around修饰语.

MyApp::Type::Field

coerce 'MyApp::Type::Field'
    => from 'Str'
        => via { MyApp::Type::Field->new( value => $_ ) };

has 'value'    => ( is => 'rw' );
has 'size'     => ( is => 'ro', isa => 'Int',  writer => '_set_size',     predicate => 'has_size' );
has 'required' => ( is => …
Run Code Online (Sandbox Code Playgroud)

perl attributes moose coercion

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

突出显示UIControl子类


基本上我需要一个图像按钮,特别是一个自定义对象:
1)在点击时调用控制器的动作
2)封装自定义数据
3)由包装器视图自动移动(不相关)

好吧,我用一个子类得到了所有这些UIControl(因为UIButton不建议使用子类化UIImageView,并且子类化很难管理第1点).但现在突出它的正确方法是什么?我想以任何方式点击控件(即使是简单的alpha瞬间减少).

随着beginTrackingWithTouchendTrackingWithTouch我无法识别唯一的UIControlEventTouchUpInside事件.

控制器中的视图动画?在我看来,这是一个粗略的解决方案

有一个简单而直接的解决方案吗?

谢谢 :(

iphone highlighting uibutton uiimageview uicontrol

18
推荐指数
2
解决办法
7810
查看次数

我有md5加密密码,当用户使用"忘记密码"时如何给用户密码?

我有md5格式的密码数据库条目,但是当用户使用"忘记密码"时,我该如何给他/她所需的密码?

php mysql md5 forgot-password

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

Java:根据类实例或静态方法更喜欢Utility Class?

我有一个类似这样的Java类

public class MyObjectUtil {

    private final MyObject myObject;

    public MyObjectUtil (MyObject myObject){            
        this.myObject = myObject;    
    }

    public boolean isSomeInfoPresentValid() {
        return myObject.isSomething();
    }

    public void modifyMyObjectInSomeWay(String blah) {
        myObject.modify(blah);
    }

}
Run Code Online (Sandbox Code Playgroud)

每次我都要实例化我的Utility类来与MyObject的特定实例进行交互.

myObject作为Session obj出现

MyObjectUtil myObjUtil = new MyObjectUtil(myObject);
myObjUtil.modifyMyObjectInSomeWay("blah");
boolean valid = myObjUtil.isSomeInfoPresentValid();
Run Code Online (Sandbox Code Playgroud)

为了获得相同的结果,我可以使用静态函数,每次使用myObject作为方法参数执行相同的操作.

public class MyObjectUtil {

    public static boolean isSomeInfoPresentValid(MyObject myObject) {
        return myObject.isSomething();
    }

    public static void modifyMyObjectInSomeWay(MyObject myObject, String blah) {
        myObject.modify(blah);
    }

}
Run Code Online (Sandbox Code Playgroud)

我不知道应该走哪条路.
我在我的控制器中使用Util类,有时我需要针对同一个myObject实例调用几个方法,所以对我来说第一个解决方案似乎更正确.同时,由于myObject与特定的http请求相关,因此我对控制器的请求很多,因此每次都可以创建大量的MyObjectUtil实例.

在我的情况下,我应该选择哪种方式?在其他情况下我应该如何选择?

某些Utilities类(如MyObjectXXXUtil MyObjectYYYUtil)以特定方式使用MyObject.我想从特定的MyObject实现中保留这些Util方法(修改myObject并检查特定状态),因为它们并不特定于此.许多Util函数可以以某种方式与MyObject交互.

java static-methods utility instances

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

iPhone:如何编码减少倒数计时器?

我想用一个UILabel从5开始的倒数计时器,每秒减1,如:

5 4 3 2 1

最后在标签达到0时隐藏标签.

我尝试使用它进行编码,NSTimer scheduledTimerWithTimeInterval但失败了.

请帮我.

nstimer ios4

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

WPF - 在一段时间内检测鼠标

检测鼠标按钮在特定时间段内按住某个特定元素的最佳方法是什么?

.net c# wpf mouseevent

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

如何使用C++中的模板编程从基类创建派生类?

我需要从基类创建许多类(超过50个),其中唯一的区别在于派生类的名称.

例如,我的基类定义为:

class BaseError : public std::exception
{
private:
    int osErrorCode;
    const std::string errorMsg;

public:
    int ec;
    BaseError () : std::exception(), errorMsg() {}

    BaseError (int errorCode, int osErrCode, const std::string& msg)
         : std::exception(), errorMsg(msg)
    {
       ec = errorCode;
       osErrorCode = osErrCode;
    }

    BaseError (const BaseError& other)
        : std::exception(other), errorMsg(other.errorMsg)
    {
        ec  = other.errorCode;
        osErrorCode = other.osErrorCode;
    }

    const std::string& errorMessage() const { return errorMsg; }

    virtual ~BaseError() throw(){}

}
Run Code Online (Sandbox Code Playgroud)

我必须从这个基类创建许多派生类,每个类都有自己的构造函数,复制构造函数和虚拟析构函数,目前我正在复制/粘贴代码,在必要时更改名称:

class FileError : public BaseError{
private:
    const std::string error_msg;

public: …
Run Code Online (Sandbox Code Playgroud)

c++ templates derived-class

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

iPhone - 队列中的操作之间的延迟

我正在使用类似的东西向队列中添加操作

NSInvocationOperation *operation0 = [[NSInvocationOperation alloc] 
initWithTarget:self
selector:@selector(doStuff1) 
object:nil];

[queue addOperation:operation0];
[operation0 release];   


NSInvocationOperation *operation1 = [[NSInvocationOperation alloc] 
initWithTarget:self
selector:@selector(doStuff2) 
object:nil];

[queue addOperation:operation1];
[operation1 release];   


NSInvocationOperation *operation2 = [[NSInvocationOperation alloc] 
initWithTarget:self
selector:@selector(doStuff3) 
object:nil];

[queue addOperation:operation2];
[operation2 release];   
Run Code Online (Sandbox Code Playgroud)

队列设置为一次只执行一个操作.所以它会毫不拖延地一个接一个地运行3种方法.这是一种添加一个小延迟的方法,比如说每次操作之间的0.5秒或者其他什么,所以不要运行

doStuff1
doStuff2
doStuff3
Run Code Online (Sandbox Code Playgroud)

队列会这样做

doStuff1
sleep for X seconds
doStuff2
sleep for X seconds
doStuff3
Run Code Online (Sandbox Code Playgroud)

谢谢.

iphone

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

易失性成员函数的性能结果

我在2001年发现了一篇关于Dobbs博士的文章:volatile - 多线程程序员最好的朋友.我总是发现'volatile'有点无用 - 至少作为变量的限定符 - 因为对线程之间共享的变量的访问总是会经历某种类型的库层.

尽管如此,将类实例和方法标记为"易变"以表明文章中提供的线程安全程度似乎非常引人注目.

为了快速总结一下这篇文章,核心思想是可以声明一个这样的类:

struct SomeObject {
  void SingleThreadedMethod();
  void Method();
  void Method() volatile;
};
Run Code Online (Sandbox Code Playgroud)

然后,类的实例,如下所示:

// An object that will only be accessed from a single thread.
SomeObject singleThreaded;
// An objecect that will be accessed from multiple threads.
volatile SomeObject sharedObject;

sharedObject.SingleThreadedMethod(); //this will be an compile error
sharedObject.Method(); // will call the volatile overload of Method
singleThreaded.Method(); // would call the non volatile overload of Method.
Run Code Online (Sandbox Code Playgroud)

想法是实现像"Method()volatile"这样的方法:

void SomeObject::Method() volatile …
Run Code Online (Sandbox Code Playgroud)

c++ multithreading volatile

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

警告(2):strtotime()[function.strtotime]:依赖系统的时区设置是不安全的

Warning (2): strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Calcutta' for '5.5/no DST' instead [CORE\cake\libs\cache.php, line 570]
Code | Context

$settings = array(
 "engine" => "File",
 "path" => "C:\xampp\htdocs\cakephp\app\tmp\cache\persistent\",
 "prefix" => "cake_core_",
 "lock" => false,
 "serialize" => true, …
Run Code Online (Sandbox Code Playgroud)

cakephp

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