小编Tim*_*Tim的帖子

实现ActionListener的Java匿名类?

我最近做了一个编程任务,要求我们在代码中实现一个由UML图指定的程序.有一次,该图指定我必须创建一个显示计数(从1开始)的匿名JButton,并在每次单击时递减.JButton及其ActionListener都必须是匿名的.

我提出了以下解决方案:

public static void main(String[] args) {
  JFrame f = new JFrame("frame");
  f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  f.setSize(400, 400);

  f.getContentPane().add(new JButton() {

    public int counter;

    {
      this.counter = 1;
      this.setBackground(Color.ORANGE);
      this.setText(this.counter + "");

      this.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
          counter --;
          setText(counter + "");
        }
      });

    }
  });

  f.setVisible(true);

}
Run Code Online (Sandbox Code Playgroud)

这会添加一个匿名的JButton,然后添加另一个(内部)匿名ActionListener来处理事件并根据需要更新按钮的文本.有更好的解决方案吗?我很确定我不能宣布匿名JButton implements ActionListener (),但还有另一种更优雅的方法来实现相同的结果吗?

java anonymous-class

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

用于设置RGB颜色的宏比UIColor好吗?

我的头文件中有这个宏:

#define UIColorFromRGB(rgbValue) \
        [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 \
                        green:((float)((rgbValue & 0xFF00) >> 8))/255.0 \
                         blue:((float)(rgbValue & 0xFF))/255.0 \
                        alpha:1.0]
Run Code Online (Sandbox Code Playgroud)

我在我的.m文件中使用此类似的东西:

cell.textColor = UIColorFromRGB(0x663333);
Run Code Online (Sandbox Code Playgroud)

所以我想问每个人都这样更好还是我应该使用这种方法:

cell.textColor = [UIColor colorWithRed:66/255.0
                                 green:33/255.0
                                  blue:33/255.0
                                 alpha:1.0];
Run Code Online (Sandbox Code Playgroud)

哪一个更好的方法?

iphone macros xcode objective-c uicolor

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

zip或二进制文件的3g App Store下载是10MB限制吗?

我即将发布我的第一个应用程序,我希望能够下载超过3g.

二进制大约是14MB,但是当我将它压缩成一个zip文件时,它只有10MB以上.可以删除一些内容以将其压缩到10MB,但我不确定是否必须减少不到1MB或~4MB.

我的问题:从App Store下载应用程序时,压缩(zip)文件是否会传输到设备,还是二进制文件?zip或二进制文件的限制是10MB吗?

iphone distribution

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

序列化使用内部修饰符声明的类的List <>?

我正在尝试将XML序列化添加到C#中相当简单的类结构中.本质上,有一个根类的实例(称为AClass),它包含一些其他类的几个实例的List(称之为AnotherClass):

[XmlRoot("RootNode")]
public class AClass {
    [XmlElement("ListNode")]
    internal List otherObjects { get; set; }
}

public class AnotherClass {
    [XmlAttribute("Name")]
    internal string name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

在序列化时,我希望将这两个类序列化在一起 - 也就是说,如果我序列化了AClass,它的AnotherClass列表也会被序列化(请参阅此问题).

我有这个主要工作,但问题是在序列化过程中,XmlSerializer似乎只想处理public类的属性 - 如果声明列表,它根本不会序列化AnotherClass internal.

我试着让程序集的内部对序列化程序可见:

[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("System.Xml")]
Run Code Online (Sandbox Code Playgroud)

这似乎没有做任何事情.有没有办法让XmlSerializer递归序列化内部声明的对象列表?

c# xml access-modifiers xml-serialization

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

在Ruby进程中嵌入Python CLI?

作为一个更大的项目的一部分,我试图在Ruby进程中"嵌入"一个Python交互式解释器.我希望能够做类似以下的事情:

$ irb
irb(main):001:0> pipe = IO.popen("python", "w+")
=> #<IO:0x7f3dba4977e0>
irb(main):002:0> pipe.puts "print 'hello'"
=> nil
irb(main):003:0> pipe.gets
=> 'hello\n'
Run Code Online (Sandbox Code Playgroud)

不幸的是,gets似乎挂起而不是从Python进程返回任何类型的输出.我已经尝试过这个程序的变体open3,使用模式r+代替w+,以及其他一些小选项(python -u其中),但没有成功.

有没有办法从Ruby建立与Python shell的交互式通信 - 实际上,"包装"Python CLI?我在x86_64机器上使用Ruby 1.8.7(2010-06-23 patchlevel 299)和Python 2.6.6,但希望解决方案在Python版本中可移植(ish).

ruby python subprocess interactive pipe

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

动画自动布局与NSPopover contentSize更改同时更改

我试图在popover中重现可导航视图的iTunes 11行为.我似乎无法找到一种方法来让我的动画在弹出窗口contentSize发生变化的同时发生.

我的基本设置是一个自定义视图子类MyPopoverNavigationView,带有两个子视图:我希望popover在其间导航的旧视图和新视图.该酥料饼的contentViewController有MyPopoverNavigationView实例作为其view.我这样做:

// Configure constraints how I want them to show the new popover view
[NSAnimationContext runAnimationGroup:^(NSAnimationContext *ctx) {
    [ctx setDuration:0.25];
    [ctx setAllowsImplicitAnimation:YES];
    [self layoutSubtreeIfNeeded];
} completionHandler:nil];
Run Code Online (Sandbox Code Playgroud)

据我所知,从Auto Layout WWDC 2012视频中,这是一种建议的方法,可以在约束更改的情况下对视图帧的更改进行动画处理.它有效,但动画分两个阶段进行:

  • 首先,popover contentSize将改变以适应我正在移动的新视图(该视图变为可见之前,因此它部分地模糊了现有内容).
  • 其次,视图按照我的预期进行动画处理,以便我安装的约束系统得到满足.

从设置一些断点,它看起来-layoutSubtreeIfNeeded最终调用一个名为popover的私有方法_fromConstraintsSetWindowFrame:,它在我的动画组之外执行popover大小的动画.我的上下文的持续时间不受尊重,我的动画在弹出框的大小更改完成之前不会发生.

如何让我的观点与弹出窗口的大小变化一起动画?

cocoa animation autolayout nspopover

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

这个jQuery示例有什么问题?

下面的jQuery示例应该将一些文本放入div中,但事实并非如此.我尝试过Firefox,谷歌浏览器和Internet Explorer.

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" language="javascript"></script>
<script language="javascript">

$(window).load(function() {

  $('adiv').html('<p>hello world</p>');
  alert('done');

});
</script>
</head>

<body>
<div id="adiv">
</div>
</body>

</html>
Run Code Online (Sandbox Code Playgroud)

对不起,这可能是愚蠢的,但我被困住了.

javascript jquery

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

通过NSManagedObjectContext对象迭代?

我想遍历NSManagedObjectContext中的所有对象,并手动更新它们.然后,应更新每个托管对象.最好的方法是什么?

cocoa core-data nsmanagedobjectcontext

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

PHP5:限制对某些类的函数访问

PHP5中是否有一种方法只允许某个类或一组类调用特定的函数?例如,假设我有三个类("Foo","Bar"和"Baz"),都有类似命名的方法,我希望Bar能够调用Foo::foo()但拒绝Baz 进行调用的能力:

class Foo {
    static function foo() { print "foo"; }
}

class Bar {
    static function bar() { Foo::foo(); print "bar"; } // Should work
}

class Baz {
    static function baz() { Foo::foo; print "baz"; } // Should fail
}

Foo::foo(); // Should also fail
Run Code Online (Sandbox Code Playgroud)

在Foo,Bar和Baz之间不一定存在继承,因此使用protected或类似的修饰符将无济于事; 然而,这些方法不一定是静态的(为了简化示例,我在这里做了它们).

php oop access-modifiers restriction

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

只调用super的方法的目的?

在Xcode中,许多自动生成的类文件(尤其是UIViewController子类的文件)将包含类似于以下内容的方法:

- (void)dealloc {
    [super dealloc]
}
Run Code Online (Sandbox Code Playgroud)

对我来说,这似乎毫无意义 - 如果所有方法都要做的就是召唤超级,为什么要这么做呢?是否有生成这些方法的目的?

xcode inheritance objective-c

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