问题列表 - 第46574页

如何在Objective-C + Cocoa中创建自定义无边框NSWindow?

首先让我说这是我的第一个真正的Cocoa应用程序.这是一个简单的应用程序,几乎在无边框窗口中显示我的网站.我正在创建无边框窗口的方式是使用以下方法:

- (void) awakeFromNib {
    [window setStyleMask:NSBorderlessWindowMask];
    [window setAcceptsMouseMovedEvents:YES];
    [window setMovableByWindowBackground:YES];
    [window setLevel:NSNormalWindowLevel];
}
Run Code Online (Sandbox Code Playgroud)

这样做的问题在于,窗口中的WebView不会将鼠标悬停在已加载页面上的元素上,也不会提供键入文本字段的功能.我知道我应该创建一个自定义窗口,然后将contentView移动到它中,但我对Objective-C来说太新了,无法弄清楚如何.

我也试过宣布所有这些没有运气:

@implementation specikAppDelegate

@synthesize window;
@synthesize webView;

- (BOOL) canBecomeKeyWindow { return YES; }
- (BOOL) canBecomeMainWindow { return YES; }
- (BOOL) acceptsFirstResponder { return YES; }
- (BOOL) becomeFirstResponder { return YES; }
- (BOOL) resignFirstResponder { return YES; }

...

@end
Run Code Online (Sandbox Code Playgroud)

另外,我希望能够通过点击并拖动它来移动窗口,但这是一个想法.我在网上广泛搜索过,找不到解决方法.

我的.h文件的内容(以防万一):

@interface specikAppDelegate : NSObject <NSApplicationDelegate> {
    IBOutlet NSWindow *window;
    IBOutlet WebView *webView;
}

@property (assign) IBOutlet NSWindow *window;
@property …
Run Code Online (Sandbox Code Playgroud)

xcode cocoa objective-c nswindow

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

如何将NSDate存储在SQLite数据库中?

在我的SQLite数据库中,我有一个名为datekeytype 的列TIMESTAMP.

我如何将我的NSDate对象存储在数据库中?

从我的一个课程中,我已经将这个课程转换NSString为适当的日期

dateStr = [NSString stringWithFormat:@"%@ 00:00:00 AM +0000",dateStr];

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd-MMM-yyyy HH:mm:ss a Z"];
NSDate *dateToBeReturned = [formatter dateFromString:dateStr];
Run Code Online (Sandbox Code Playgroud)

现在我想将这个"dateToBeReturned"存储到SQLite数据库中.

请帮忙

sqlite timestamp ios4

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

Linq按顺序分组,每组按顺序排序?

我有一个看起来像这样的对象:

public class Student
{
    public string Name { get; set; } 
    public int Grade { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我想创建以下查询:按学生姓名分组成绩,按成绩对每个学生组进行排序,并按每组中的最高成绩对订单组进行排序.

所以它看起来像这样:

A 100
A 80
B 80
B 50
B 40
C 70
C 30
Run Code Online (Sandbox Code Playgroud)

我创建了以下查询:

StudentsGrades.GroupBy(student => student.Name)
    .OrderBy(studentGradesGroup => studentGradesGroup.Max(student => student.Grade));
Run Code Online (Sandbox Code Playgroud)

但是返回IEnumerable IGrouping,我无法对列表进行排序,除非我在另一个foreach查询中执行此操作并使用将结果添加到其他列表AddRange.

有更漂亮的方法吗?

c# linq group-by sql-order-by

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

C++中的内部类是自动的朋友吗?

如果我在C++中定义一个内部类,它是否自动成为包含它的类的朋友?例如,这是合法的:

class Outer {
public:
    class Inner {
    public:
        void mutateOuter(Outer& o);
    };

private:
    int value;
};

void Outer::Inner::mutateOuter(Outer& o) {
    o.value ++; // Legal?  Or not?
}
Run Code Online (Sandbox Code Playgroud)

我问,因为在我试过的一些编译器(VS2003)上,这段代码不起作用,但我至少听说过它在某些编译器上有效.我无法在C++规范中找到关于此的相关部分,如果有人能够引用某些特定内容,那就是说它是合法的还是不合法的.

c++ friend nested-class

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

电话号码的正则表达式

我需要一个Javascript RegEx,通过它我可以验证电话号码.RegEx应处理以下标准

  1. 它应该只包含数字()+和 -
  2. +的数量不应超过1
  3. 数量 - 不应超过4
  4. 必须只有一对()
  5. 如果'('存在于电话号码中则')'必须存在.

谢谢您的帮助!

侯赛因.

javascript regex

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

libsigsegv并响应堆栈溢出

我们正在尝试测试学生代码,并且为了自动化该过程,我们想要检测学生的代码是否溢出堆栈.

我使用libsigsegv库及其相应的stackoverflow_install_handler获得了一些成功.它的工作非常出色,直到学生的代码将堆栈吹两次.

例如,这里是一些示例输出:

[# ~]$ ledit ./interpreter
-> (use solution)
-> (fun 1 2)

*** Stack overflow detected ***
-> (fun 1 2)
Signal -10
[# ~]
Run Code Online (Sandbox Code Playgroud)

初始" *检测到堆栈溢出* "是理想的输出.在第二次吹掉堆栈之后,我得到的只是一个无用的"Signal -10",程序停止执行.我想再次看到堆栈溢出检测到的消息,让代码继续执行.

在我的堆栈溢出处理程序中,我只是将溢出检测消息打印到stderr并且长时间跳回到解释器中的"等待输入状态".

谢谢你的帮助!

编辑

根据下面的caf的建议,我们添加了对sigsegv_leave_handler()的调用,如下所示:

static void continuation(void *arg1, void *arg2, void *arg3) {                  
  (void)(arg1);                                                                 
  (void)(arg2);                                                                 
  (void)(arg3);                                                                 
  siglongjmp(errorjmp, 1);                                                      
}                                                                               

static void handler(int emergency, stackoverflow_context_t context) {           
 (void)emergency;                                                               
 (void)context;                                                                 
 fprintf(stderr, "\n*** Stack overflow detected ***\n");                        
 fflush(stderr);                                                                
 sigsegv_leave_handler(continuation, NULL, NULL, NULL);                         
}  
Run Code Online (Sandbox Code Playgroud)

但是,输出仍然相同.

c stack-overflow signals segmentation-fault

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

从自定义对话框中获取DialogResult

我有一些自定义对话框上有设置按钮,我想当我退出时newBlockForm.ShowDialog(this);获取对话框结果,如果用户按下该按钮.

就像我在winforms对话框中所做的那样

if(MessageBox.Show("Exit?", "Close UP", 
     MessageBoxButtons.YesNo)== DialogResult.Yes)
Run Code Online (Sandbox Code Playgroud)

知道我是怎么做的吗?

.net c# winforms

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

使用Backbone.js反向排序顺序

使用Backbone.js我已经设置了一个带比较器功能的集合.这很好地排序模型,但我想颠倒顺序.

如何按降序排序模型而不是升序?

javascript backbone.js

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

asp.net mvc的回形针

是否存在类似Paperclip for Rails的插件?

实现自己的上传文件系统真的很痛苦调整大小...

对于模型的属性来说会很酷,这样会得到params:

模型:

[Paperclip(Sizes={thumb="100x20",big="200x40"},Path="~/public/")]
public string Image{get;set;}
Run Code Online (Sandbox Code Playgroud)

视图:

Html.Editor(x=>x.Image)
Run Code Online (Sandbox Code Playgroud)

这是rails的小教程.

asp.net-mvc attributes file-upload image paperclip

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

heroku rake db:migrate>没有这样的文件加载 - faker

我正在尝试第一次将一个rails 3应用程序部署到heroku.它似乎推高了,但是当我试图跑

heroku rake db:migrate
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

rake aborted!
no such file to load -- faker
/app/98c71cc3-375f-4397-9de3-034dd7268be3/home/Rakefile:7
(See full trace by running task with --trace)
(in /app/98c71cc3-375f-4397-9de3-034dd7268be3/home)
Run Code Online (Sandbox Code Playgroud)

这是我的rakefile(第7行是最后一个):

require File.expand_path('../config/application', __FILE__)
require 'rake'

SampleApp::Application.load_tasks
Run Code Online (Sandbox Code Playgroud)

现在我有一个名为sample_data.rake的任务,它使用faker gem用开头数据库填充样本数据,该任务包含以下行:

require 'faker'
Run Code Online (Sandbox Code Playgroud)

在顶部,这必然是造成问题的原因.

我该如何解决这个错误,还是有办法让heroku忽略这个任务文件?无论如何,我不打算用无意义的样本数据填充生产版本.

顺便说一下,faker只在我的gemsfile中的开发环境中活动:

# gemfiles for the rspec testing environment
group :development do
  gem 'rspec-rails', '2.5.0'
  gem 'annotate-models', '1.0.4'
  gem 'faker', '0.3.1'
end
Run Code Online (Sandbox Code Playgroud)

heroku ruby-on-rails-3

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