如果其中一个函数涉及等待弹出窗口,我怎样才能获得一系列连续执行的函数?
在下面的authBegin函数中,我弹出一个窗口,完成后返回authBegin函数.
但链接当然不是等待它.我怎么能让它等到窗户回来?
am.authUnlessCurrent().authBegin().collectData();
var authModule=function(){
this.authUnlessCurrent=function(){
alert("checks auth");
};
this.authBegin=function(){
window.oauth_success = function(userInfo) {
popupWin.close();
return this;
}
window.oauth_failure = function() {
popupWin.close();
return true;
}
popupWin = window.open('/auth/twitter');
};
this.collectData=function(){
alert("collect data");
return this;
};
}
Run Code Online (Sandbox Code Playgroud) 我在自定义UIActionSheet类中有这个
if (otherButtonTitles != nil) {
[self addButtonWithTitle:otherButtonTitles];
va_list args;
va_start(args, otherButtonTitles);
NSString * title = nil;
while(title = va_arg(args,NSString*)) { // error here
[self addButtonWithTitle:title];
}
va_end(args);
}
Run Code Online (Sandbox Code Playgroud)
我有这个错误
!使用赋值的结果作为没有括号的条件
指着这条线
while(title = va_arg(args,NSString*)) {
Run Code Online (Sandbox Code Playgroud)
这是为什么?
谢谢.
有没有办法在PHP中反序列化一个用Java序列化的对象?IE如果我有一个实现序列化的Java类,我使用ObjectOutputStream来编写对象,并将结果转换为字符串,那么PHP中是否有一种方法可以获取该字符串并从中创建类似的对象表示?
Java Serialized数据是什么样的?
响应:
???sr?com.site.entity.SessionV3Data?????????xpsr?java.util.HashMap???`??F?
Run Code Online (Sandbox Code Playgroud)
loadFactorI thresholdxp?@ w t sessionIdt 0NmViMzUxYWItZDRmZC00MWY4LWFlMmUtZjg2YmZjZGUxNjg5xx
:)
我在这里有这个代码:
if (in_array('mystring', $entry->getCategories()->getValues()))
{
... //do somethingA
Run Code Online (Sandbox Code Playgroud)
这有效.
但是,我想允许某些东西运行,如果是"mystring"或"mYstring"或"MYSTRING"就是这种情况.
所以我试过这样:
if (in_array(array('OCC', 'OCc','Occ', 'occ', 'ocC','oCC', 'oCc', 'OcC'), $entry->getCategories()->getValues()))
{
Run Code Online (Sandbox Code Playgroud)
但我没有得到任何回报.我在这里错过了什么?
非常感谢,MEM
我有一个Visual Studio 2008 C++应用程序,其中基类A_Base
需要实例化一个类型由父类定义的数据成员.例如:
template< typename T >
class A_Base
{
public:
typedef typename T::Foo Bar; // line 10
private:
Bar bar_;
};
class A : public A_Base< A >
{
public:
typedef int Foo;
};
int _tmain( int argc, _TCHAR* argv[] )
{
A a;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,似乎编译器不知道是什么T::Foo
,直到它为时已晚,我得到这样的错误:
1>MyApp.cpp(10) : error C2039: 'Foo' : is not a member of 'A'
1> MyApp.cpp(13) : see declaration of 'A'
1> MyApp.cpp(14) : see reference to class …
Run Code Online (Sandbox Code Playgroud) 当NSTextView
a NSView
是图层支持(-wantsLayer == YES
)的子视图时,它不会为拼写错误的单词呈现波浪形的红色下划线.重现这一点就是制作一个空的Cocoa项目,打开笔尖,拖入NSTextView
窗口,并切换窗口的内容视图以获得一个图层.繁荣 - 没有更多的红色下划线.
我做了一些搜索,这似乎是一个已知的情况,自10.5以来一直如此.但是,我找不到的是它的解决方法.NSTextView
在图层支持的视图中,是否无法获取下划线?
我能想象压倒一切NSTextView
的drawRect:
,并使用布局管理器找到合适的临时属性组表示拼写错误的正确rects然后绘制红色波浪线喽,但这当然是一个总的黑客.我也可以想象苹果公司在10.7(或许)中修复此问题,突然我的应用程序会有双重下划线或其他东西.
我当前的解决方法受到nptacek提到的拼写检查委托方法的启发,这促使我深入挖掘我之前没有注意到的路径,所以我将接受这个答案但是发布我为后代所做的和/或进一步的讨论.
我正在运行10.6.5.我有一个NSTextView的子类,它是NSClipView的自定义子类的文档视图,后者又是我的窗口contentView的子视图,它打开了图层.在玩这个时,我最终将所有自定义注释掉,但拼写检查仍然无法正常工作.
我相信,我发现了两个截然不同的问题:
#1是NSTextView,当托管在图层支持的视图中时,甚至不打算绘制拼写错误的下划线.(我根据谷歌的搜索结果表明,它在10.5天内可能已经有一段时间绘制了下划线,但没有在正确的位置 - 所以Apple可能只是完全禁用它们以避免10.6中的问题.我不确定我的定位方式也可能有一些副作用,导致它们在我的情况下根本不出现.目前未知.)
#2就是当NSTextView处于这种与图层相关的情况时,即使将-isContinuousSpellCheckingEnabled设置为YES,它在您输入时似乎也没有正确地将文本标记为拼写错误.我通过实现一些拼写检查委托方法来验证这一点并观察NSTextView发送有关更改的消息但从未通知将任何文本范围设置为拼写错误 - 即使显示拼写错误的单词会在TextEdit中显示红色下划线(和其他文本视图在其他应用程序中).我还覆盖了NSTextView的-handleTextCheckingResults:forRange:types:options:orthography:wordCount:看看它看到了什么,它看到了同样的东西.好像NSTextView正在主动设置光标下的单词没有拼写错误,然后当用户键入一个空格或远离它或其他什么时,它没有' 重新检查拼写错误.不过,我不完全确定.
好的,所以要解决#1,我覆盖-drawRect:在我的自定义NSTextView子类中看起来像这样:
- (void)drawRect:(NSRect)rect
{
[super drawRect:rect];
[self drawFakeSpellingUnderlinesInRect:rect];
}
Run Code Online (Sandbox Code Playgroud)
然后我实现了-drawFakeSpellingUnderlinesInRect:使用layoutManager获取包含NSSpellingStateAttributeName作为临时属性的文本范围,并渲染一个合理接近标准OSX拼写错误点图案的点图案.
- (void)drawFakeSpellingUnderlinesInRect:(NSRect)rect
{
CGFloat lineDash[2] = {0.75, 3.25};
NSBezierPath *underlinePath = [NSBezierPath bezierPath];
[underlinePath setLineDash:lineDash count:2 phase:0];
[underlinePath setLineWidth:2];
[underlinePath setLineCapStyle:NSRoundLineCapStyle];
NSLayoutManager *layout = [self layoutManager];
NSRange checkRange = NSMakeRange(0,[[self string] length]);
while (checkRange.length …
Run Code Online (Sandbox Code Playgroud) 突然间,我在本地Web服务器上遇到以下错误(Win7 64位,IIS 7.5).我已在本地卸载并重新安装IIS,但它没有修复它.IIS设置为自动启动,我可以看到该服务已成功启动.重新启动时,如果我进入IIS并单击启动网站,我会收到以下错误:
该进程无法访问该文件,因为该文件正由另一个进程使用.(HRESULT的例外情况:0x80070020
如果我尝试在我的本地网站项目上开始调试,我会收到以下错误:
无法在Web服务器上启动调试.底层连接已关闭.连接意外关闭.
关于我可以尝试的任何想法?我一直在研究这个问题,微软建议确保没有其他服务正在监听相同的端口.我已经确认这不是问题.
我想从更新Progressbar的Thread更新我的UI.不幸的是,当从"runnable"更新进度条的drawable时,进度条消失了!改变进度onCreate()
栏的绘图可用于其他工作!
有什么建议?
public void onCreate(Bundle savedInstanceState) {
res = getResources();
super.onCreate(savedInstanceState);
setContentView(R.layout.gameone);
pB.setProgressDrawable(getResources().getDrawable(R.drawable.green)); //**Works**/
handler.postDelayed(runnable, 1);
}
private Runnable runnable = new Runnable() {
public void run() {
runOnUiThread(new Runnable() {
public void run()
{
//* The Complete ProgressBar does not appear**/
pB.setProgressDrawable(getResources().getDrawable(R.drawable.green));
}
});
}
}
Run Code Online (Sandbox Code Playgroud) 根据perl手册for last
(http://perldoc.perl.org/functions/last.html),last
不能用于打破do {}
循环,但它没有提到替代方案.我正在维护的脚本具有以下结构:
do {
...
if (...)
{
...
last;
}
} while (...);
Run Code Online (Sandbox Code Playgroud)
而且我很确定他想要循环结束,但它实际上退出了当前子程序,所以last
如果有更好的方法可以推荐,我需要更改或重构整个循环.