小编Bas*_*ian的帖子

Java 8:如何使用流中的异常抛出方法?

假设我有一个类和一个方法

class A {
  void foo() throws Exception() {
    ...
  }
}
Run Code Online (Sandbox Code Playgroud)

现在我想为A一个流传递的每个实例调用foo,如:

void bar() throws Exception {
  Stream<A> as = ...
  as.forEach(a -> a.foo());
}
Run Code Online (Sandbox Code Playgroud)

问题:如何正确处理异常?代码无法在我的机器上编译,因为我没有处理foo()可能抛出的异常.在throws Exceptionbar似乎是没用在这里.这是为什么?

java unhandled-exception java-8 java-stream

154
推荐指数
7
解决办法
14万
查看次数

核心数据:无法将"MyType_MyType_2"类型的值转换为MyType

我有一个Objective-C模型类MyType.这个类用在Swift代码中:

NSEntityDescription.insertNewObjectForEntityForName("MyType", inManagedObjectContext: context) as! MyType
Run Code Online (Sandbox Code Playgroud)

as!投导致错误信息

Core Data: Could not cast value of type 'MyType_MyType_2' (0x7be99a30) to MyType (0xf33db74).
Run Code Online (Sandbox Code Playgroud)

如果我按照NSManagedObject它的方式投射它.当我打印结果时,我仍然可以看到,它是MyType的实际实例:

<MyType: 0x7ae06d50> (entity: MyType; id: 0x7aeba6d0 <x-coredata:///MyType/t957F2860-85F8-46E0-B6D6-4D1DF6C4EC613> ; data: { 
    ...the fields...
})
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?这个名字MyType_MyType_2来自哪里?

casting core-data nsmanagedobject swift

27
推荐指数
3
解决办法
8998
查看次数

Scala.React与Qt信号和插槽

随着Scala.React的兴起,我想知道当使用Qt作为Scala程序的GUI框架时,Qt的Signals&Slots机制是否会过时.两种方法中的一种如何在以下每个类别中表现出色?

  • 易于编码,简洁明了
  • 表达性:是否有任何技术提供了另一种技术不具备的可能性(就像WPF的依赖属性的强制机制一样)?
  • 编译时间类型安全性,例如使用QtScript定义信号和插槽时
  • 性能 - 但它在GUI中实际上是否重要?

假设Scala.React已经处于完成状态并且有很好的文档记录:您何时更喜欢一种方法而不是另一种方法?

qt functional-programming scala frp reactive-programming

10
推荐指数
0
解决办法
695
查看次数

什么是好的(半)异步算法?

我在数据结构上寻找一些数据并行算法,例如列表或图形,它们不使用同步但是利用关键部分来保持状态一致.

到目前为止,我只遇到了算法

  • 同步:它们处理它们更改的数据的本地副本,并在某些时间段交换它们的当前状态以进行下一步(例如,单步并行本地搜索),或者

  • 无竞争条件:它们细分数据结构,使得每个部分可以使用共享内存单独安全地处理(例如并行Quicksort)

你知道任何可理解的(半)异步算法吗?

  1. 细分必须由多个处理器单独处理的数据,
  2. 处理器通过共享存储器(例如,通过使用关键部分)交换每个步骤中生成的一些数据,因此,
  3. 只是松散地同步,但不依赖心跳方案或其他重量级同步措施?

编辑:我使用HT Kung 的技术报告同步和异步并行算法的多处理器术语.

编辑2:为了澄清术语,本文区分了不同类型的算法:

  • 同步(例如,生命游戏的心跳方法)
  • 异步:每个处理器可以主要独立工作,并可以随时通过共享内存将其结果传送给其他处理器.然后,通信可能影响其他处理器中的下一步计算(例如,通过并行二进制搜索在单独的收敛间隔中找到函数的零)
  • 半异步/同步:同步发生,但比同步算法更少.

algorithm parallel-processing synchronization asynchronous shared-memory

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

如何禁用"多个方法命名...找到不匹配的结果,参数类型或属性"

我刚刚开始使用我已经工作了一段时间的项目的Xcode 6.3.我做了一些改动而不是运行以前工作的程序.结果:消息构建失败

编译ZXParsedResult.m ... 在此输入图像描述

所以ZXing库突然不能再被编译了.我想这是另一个XCode错误(即使重置了以前工作的代码库的所有更改,程序也不会运行).是否可以禁用此错误消息?

我已经触发了项目的成功清理.

xcode compiler-errors compiler-warnings suppress-warnings zxing

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

在Scala中创建GUI但没有Swing/AWT

我打算写一个新的应用程序,它应该有一个GUI.当我最近浏览了一本关于Scala的书(并且变得非常窒息)时,我决定首先学习该语言,然后尝试构建该程序.

我想知道:在没有被迫使用Swing/AWT工具包的情况下,是否有任何可靠的方法在Scala中构建GUI?我不喜欢Swing/AWT,因为它们看起来与Qt&Co.相比还不成熟.遗憾的是我找不到有关在Scala中构建GUI而不依赖于它们的更多信息.

因为我对Scala很新,并且对它不太了解,但是,我也想知道特定工具包的Java绑定是否可以在Scala中以不牺牲任何Scala的令人愉快的方式使用功能(例如模式匹配).

还有一点需要注意:该工具包应该支持Linux和Windows,并且Look-and-Feel应该与每个平台上的本机相同.

更新:这是我目前的工具包排名(随意评论):
1.SWT
+原生L&F
+真正的Java解决方案
.还不确定性能
.不确定学习和编码的简单性,但是
- dealloc需要释放资源
2. Qt Jambi
+部分原生L&F
+许多可能性
+非常容易学习
.不确定性能,但是
- 围绕C++工具包的包装=>可能代码变得丑陋吗?
3. Java Gnome
.不确定任何事情,但是 - 还有人试过吗?

没有积极开发Java包装器的工具包似乎存在:
- WxWidgets

丢弃的工具包:
- Swing/AWT:旧的我不喜欢编码
- JavaFX:Rich Internet Application的目标 - 我想要一个独立的应用程序

从头开始为Scala程序员编写的新工具包会很好但我想这不会发生,因为有可能重用基于Java的解决方案.

user-interface swing scala cross-platform awt

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

为什么记忆不起作用?

在阅读了memoization介绍之后,我通过使用更通用的memoize函数重新实现了Fibonacci示例(仅用于学习目的):

memoizer :: (Int -> Integer) -> Int -> Integer
memoizer f = (map f [0 ..] !!)

memoized_fib :: Int -> Integer
memoized_fib = memoizer fib
    where fib 0 = 0
          fib 1 = 1
          fib n = memoized_fib (n-2) + memoized_fib (n-1)
Run Code Online (Sandbox Code Playgroud)

这有效,但是当我将最后一行更改为以下代码时,memoization突然无法正常工作(程序再次变慢):

          fib n = memoizer fib (n-2) + memoizer fib (n-1)
Run Code Online (Sandbox Code Playgroud)

记忆化的关键区别在哪里?

haskell memoization fibonacci

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

JQuery UI draggable:一边是超出限制

我正在使用JQuery UI来实现可调整大小/可拖动的元素.现在我想为这些元素定义一个包含,限制正好调整三个(!)边的大小/拖动.例如,看看这个JSFiddle示例.您可以看到包含的元素只能在父级区域内调整大小/拖动.

我想要实现的是元素可以超过底部阈值并移动到父级的底部边界之外.然而,调整大小/拖动仍应限制在父母的边界规定的顶部,右侧和左侧.

所以这个修改是我提出的:

// resizable/draggable option
resize/drag : function(event, ui) {
    expandParent("#parentElement", "#dragElement");
}

function expandParent(parentName, childName) {
    var dragEl = $(childName);
    var dragElTop = parseInt(dragEl.css("top"), 10);
    var dragElHeight = parseInt(dragEl.css("height"), 10);
    var dragElBottom = dragElTop + dragElHeight;
    var parentEl = $(parentName);
    var parentElBottom = parseInt(parentEl.css("height"));
    if(parentElBottom <= dragElBottom + 20) {
        parentEl.css("height", "+=2");
    }
}
Run Code Online (Sandbox Code Playgroud)

如果您使用底部边框,您会注意到如果子项太靠近父项的下边框,则父项的区域会扩展.不幸的是,这在20像素后停止.然后,您必须释放鼠标按钮并再次调整大小/拖动以进一步扩展该区域.你知道为什么会这样吗?

javascript jquery-ui-resizable containment jquery-ui-draggable

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

Cordova:LocalFileSystem未定义

我无法使cordova文件系统工作.我有一个具有以下依赖项的项目:

com.ionic.keyboard 1.0.3 "Keyboard"
org.apache.cordova.console 0.2.12 "Console"
org.apache.cordova.device 0.2.13 "Device"
org.apache.cordova.file 1.3.2 "File"
org.apache.cordova.file-transfer 0.4.8 "File Transfer"
Run Code Online (Sandbox Code Playgroud)

app.js我定义对控制器模块的依赖:

angular.module('starter', ['ionic', 'controllers']);
Run Code Online (Sandbox Code Playgroud)

控制器代码基本上是这样的:

angular.module('controllers', [])
  .controller('GalleryCtrl', function ($scope) {
    function success() {...}
    function error() {...}
    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, success, error);
  }
}
Run Code Online (Sandbox Code Playgroud)

然后我得到的是:

LocalFileSystem is not defined
Run Code Online (Sandbox Code Playgroud)

此外,requestFileSystem未定义.这种行为可能是什么原因?

我使用的是cordova 4.1.2和离子1.3.1.

编辑:这是相应的HTML标记:

<body ng-app="starter" ng-controller="GalleryCtrl">
<ion-nav-view>
    <ion-slide-box id="slideBox">
        <ion-slide ng-repeat="..."> <!-- details omitted -->
        </ion-slide>
    </ion-slide-box>
</ion-nav-view>
</body>
Run Code Online (Sandbox Code Playgroud)

cordova html5-filesystem cordova-plugins ionic

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

具有嵌套图像的UiScrollview看起来很奇怪

我在UIViewController中有一个UIScrollView(由ImageViewController子类).ViewController本身是NavigationController堆栈的一部分.现在,除了有一个导航栏,我希望ScrollView能够占用屏幕上所有可用的空间.然后,scrollview中的UIImageView应该填充滚动视图的可用空间.您可以在此帖子的底部看到当前状态.

class ImageViewController: UIViewController, UIScrollViewDelegate {

    @IBOutlet weak var scrollView: UIScrollView!
    var imageView: UIImageView?
    var image: UIImage?

    override func viewDidLoad() {
        super.viewDidLoad()
        scrollView.delegate = self

        if let image = image {
            imageView = UIImageView(image: image)
            if let imageView = imageView {
                imageView.frame = CGRect(origin: CGPoint(x: 0, y: 0), size: image.size)
                scrollView.addSubview(imageView)
                scrollView.contentSize = image.size

                let scaleHeight = scrollView.frame.size.height / scrollView.contentSize.height
                let scaleWidth = scrollView.frame.size.width / scrollView.contentSize.width
                let minimumScale:CGFloat = min(scaleHeight, scaleWidth)
                let maximumScale:CGFloat = max(scaleHeight, scaleWidth)

                scrollView.minimumZoomScale = minimumScale
                scrollView.maximumZoomScale …
Run Code Online (Sandbox Code Playgroud)

border dimensions uiscrollview uiimageview

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