我想创建一个特定类型的属性,并且符合协议,我会在Objective-C中完成这样的:
@property (nonatomic) UIViewController<CustomProtocol> *controller;
Run Code Online (Sandbox Code Playgroud)
我正在寻找的是指定可以使用类型为UIViewController的对象设置属性,该对象也符合CustomProtocol,以便清楚基类是什么.我知道我可能只是使用一个短类存根来获得相同的结果,即
class CustomViewController : UIViewController, CustomProtocol {}
Run Code Online (Sandbox Code Playgroud)
但这似乎不是最干净的方法.
我一直试图在厨师文档和谷歌中找到答案,但我无法想出任何东西.我还不是一个红宝石家伙,所以这个问题的答案可能源于我接近"厨师足够红宝石"的问题.这就是我想要做的事情:在我的deploy资源中,在before_migrate属性中,我想在我当前的食谱中执行资源.我目前正在做的是将资源填充到块本身,但我知道必须有更好的方法来实现它.
before_migrate do
template "#{app_root}/#{applet_name}/local_settings.py" do
source "local_settings.py.erb"
owner app_config['user']
group app_config['group']
variables(
:database_name => app_config['postgresql']['database_name'],
:user => app_config['postgresql']['user'],
:password => app_config['postgresql']['password']
)
action :create
end
end
Run Code Online (Sandbox Code Playgroud)
我的目标是什么
before_migrate do
"template #{app_root}/#{applet_name}/local_settings.py".execute
end
Run Code Online (Sandbox Code Playgroud)
所以我可以重复使用该模板代码.谢谢!
我有一个对象很可能将NSNull设置为其所有属性的值,并且我正在使用与NSNull值不兼容的代码.有可能覆盖setValue:forKey:在我的对象中这样吗?
-(void)setValue:(id)value forKey:(NSString *)key {
if ([value isEqual:[NSNull null]]) {
[super setValue:nil forKey:key];
} else {
[super setValue:value forKey:key];
}
}
Run Code Online (Sandbox Code Playgroud)
object.property = [NSNull null]在设置它时,不会调用该方法.如何将此设置为我的setter的默认行为?
我一直很难弄清楚 React 应用程序中本地化的最佳实践是什么。经过多次谷歌搜索后,我找到了雅虎的react-intl库,但我还没有找到更多其他东西来完成我想要的。该库看起来工作得很好,但至少有多个库可以比较就太好了。我只是在寻找一种方法来根据用户的浏览器区域设置来表示每个组件中的不同字符串。我可以使用什么库或方法来完成此任务?