当我使用这种方法时,长按手势对我不起作用(void)longpressed:(UILongPressGestureRecognizer *).当我长按标签时,不会调用手势.
- (void)viewDidLoad {
[super viewDidLoad];
array =[NSMutableArray arrayWithObjects:@"hello",@"we",@"Are",@"Swift", nil];
int ypoint = 60;
for (int i=0; i<[array count]; i++) {
label=[[UILabel alloc]initWithFrame:CGRectMake(100, ypoint, 300, 200)];
label.backgroundColor =[UIColor clearColor];
label.text =[array objectAtIndex:i];
[label setTag:i];
[self.view addSubview:label];
ypoint = ypoint +70;
}
[label setUserInteractionEnabled:YES];
longPressGesture =[[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(longpressed:)];
longPressGesture.minimumPressDuration = 0.6;
longPressGesture.delegate = self;
[label addGestureRecognizer:longPressGesture];
// Do any additional setup after loading the view, typically from a nib.
}
-(void)longpressed:(UILongPressGestureRecognizer *)gesture{
if (gesture.state == UIGestureRecognizerStateBegan) {
UILabel …Run Code Online (Sandbox Code Playgroud) 我正在制作一个启动器,我希望有一个自定义的ProgressBar.我已经完成了一些研究,并且可以使用JavaFX(从未用它做过什么),并且可以替换UI.我正在寻找一个圆形边缘和圆形填充条.像这样的东西:
package gui;
import java.awt.Desktop;
import java.awt.EventQueue;
import java.awt.Frame;
import java.awt.Rectangle;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.IOException;
import java.net.URISyntaxException;
import java.net.URL;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
public class Gui extends JFrame {
private static final long serialVersionUID = 1L;
private final JPanel contentPane;
final JFrame frame = new JFrame();
int pX,pY;
/**
* Launch the application.
*/
public static void main(final String[] args) {
EventQueue.invokeLater(new Runnable() { …Run Code Online (Sandbox Code Playgroud) 我想只在语句为True时才运行函数.例如,我有:
def foo():
# do something
Run Code Online (Sandbox Code Playgroud)
我只想在这个时候运行它
var == True
Run Code Online (Sandbox Code Playgroud)
而在关键的处理我不希望做这样的事情:
if k.key() == Key_UP and var:
foo()
Run Code Online (Sandbox Code Playgroud)
我从多个地方调用此函数,我不想重复var条件.另外,我不想要这样的东西:
def foo():
if var:
# do something
Run Code Online (Sandbox Code Playgroud)
我展示的最后一个是最接近我的需求,但我认为它可以通过其他方式完成.Python 3的惯用语.
问候!
PS.我想得到这样的东西:
def foo() if var == True:
# do something
Run Code Online (Sandbox Code Playgroud) 我正在努力加快数据库的处理速度.我迁移到xargs.但是我被严重困住了.如果xargs调用的命令不是内置的,则管道xargs的参数列表不起作用.我无法弄清楚原因.这是我的代码:
#!/bin/bash
list='foo
bar'
test(){
echo "$1"
}
echo "$list" | tr '\012' '\000' | xargs -0 -n1 -I '{}' 'test' {}
Run Code Online (Sandbox Code Playgroud)
所以根本没有输出.并且测试功能永远不会被执行.但是,如果我用"echo"或"printf"替换"xargs"命令中的"test",它可以正常工作.
我正在尝试使用intelliJ 14.1.4编译混合的Java-scala代码
但它一直给我这个错误:
Error Compiling SBT component 'compiler-interface-2.9.2-52.0'
Run Code Online (Sandbox Code Playgroud)
我试图降低我的Scala编译器版本的等级,但这并没有帮助。
任何帮助,将不胜感激。
我已经减少了我面对MWE的一个问题.任何人都可以确认这是一个错误还是我遗漏了一些不成熟的东西?
平台:
步骤1:创建如下命名的Ruby脚本demo.rb
puts "[Line 1]"
puts "* [Line 2] *"
Run Code Online (Sandbox Code Playgroud)
步骤2:创建如下命名的驱动程序脚本driver
#!/bin/bash
ret=`ruby ./demo.rb `
echo $ret
Run Code Online (Sandbox Code Playgroud)
第3步:将上面的文件移到空文件夹中.
第4步:driver从中跑bash.如您所见,它列出了每次puts调用时父目录的内容.
$ ./driver
[Line 1] demo.rb driver [Line 2] demo.rb driver
Run Code Online (Sandbox Code Playgroud)
步骤5:如果demo.rb直接执行bash,则产生:
$ ruby demo.rb
[Line 1]
* [Line 2] *
Run Code Online (Sandbox Code Playgroud)
现在,*从puts第二行中的字符串末尾删除星号()demo.rb:
puts "[Line 1]"
puts " [Line 2] " …Run Code Online (Sandbox Code Playgroud) 我正在尝试执行Hibernate Filter.
这是我的POJO课程:
@Entity
@Table(name="flight")
@FilterDef(name="f1",parameters=@ParamDef(name="status",type="String"))
@Filter(name="f1",condition="status=:p1")
public class Flight
{
@Id
@Column(name="flightno")
private int flightNumber;
@Column(name="src", length=10)
private String source;
@Column(name="dest",length=10)
private String destination;
@Column(name="status",length=10)
private String status;
//setter & getters
}
Run Code Online (Sandbox Code Playgroud)
这是我的Main类代码:
public static void main(String[] args)
{
//code for getting SessionFactory Object
Session session=factory.openSession();
Transaction tx=session.beginTransaction();
Query query=session.createQuery("from Flight f");
Filter filter=session.enableFilter("f1");
filter.setParameter("p1","DELAYED");
List list=query.list();
Iterator itr=list.iterator();
while(itr.hasNext())
{
Flight f=(Flight)itr.next();
System.out.println("FLIGHT NO:"+f.getFlightNumber());
System.out.println("SOURCE :"+f.getSource());
System.out.println("DESTINATION :"+f.getDestination());
System.out.println("STATUS :"+f.getStatus());
session.close();
}
Run Code Online (Sandbox Code Playgroud)
但我是这样的输出:
线程"main"中的异常java.lang.IllegalArgumentException:未定义的过滤器参数[p1]
对于这段代码,Kotlin迫使我处理无效检查情况,而在另一条线上则没有,尽管情况相同:
if (r1 == null && r2 == null)
throw IllegalArgumentException("All nulls!")
else if (r1 == null)
return r2!!.reading // <----- I am forced to !! here
else if (r2 == null)
return r1.reading // <----- The compiler does not complain in this line
Run Code Online (Sandbox Code Playgroud)
这是一个错误还是一个功能?
请帮助.我正在准备Java 7 Programmer 1考试,并在其中一个enthuware测试中遇到了这个问题.
请考虑以下方法:
static int mx(int s)
{
for(int i=0;i<3;i++)
{
s=s+i;
}
return s;
}
以下代码片段:
` int s=5;
s += s + mx(s) + ++s;
System.out.println(s);`
Run Code Online (Sandbox Code Playgroud)
它会打印什么?
结束问题
根据运算符优先级的规则,我开始评估++ s的s值为6,然后在mx方法中使用6得到值8.接下来我添加了6 + 8 + 6 = 20.然后最终执行赋值操作为s = 6 + 20 = 26.
正确答案是24.我似乎无法弄清楚他们是如何得出答案的.请发一些亮点.
下面的代码是 Kotlin 中数组声明的示例,
fun main(args: Array<String>) {
var a = Array<Int>(2){0}
a[0] = 100
a[1] = 200
print(a[1])
}
Run Code Online (Sandbox Code Playgroud)
这里变量a是一个大小为 2 的数组,值为 100 和 200 ,它将a[1]的值打印为200。
我的问题是 -> var a = Array(2){0} 中“0”的作用是什么?
我将“0”的值更改为其他一些整数值,它仍然工作正常,但我无法找到它的用例。谁能解释一下?
任何帮助将不胜感激。
谢谢。