假设我有一个类和一个方法
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 Exception的bar似乎是没用在这里.这是为什么?
我有一个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来自哪里?
随着Scala.React的兴起,我想知道当使用Qt作为Scala程序的GUI框架时,Qt的Signals&Slots机制是否会过时.两种方法中的一种如何在以下每个类别中表现出色?
假设Scala.React已经处于完成状态并且有很好的文档记录:您何时更喜欢一种方法而不是另一种方法?
我在数据结构上寻找一些数据并行算法,例如列表或图形,它们不使用同步但是利用关键部分来保持状态一致.
到目前为止,我只遇到了算法
同步:它们处理它们更改的数据的本地副本,并在某些时间段交换它们的当前状态以进行下一步(例如,单步并行本地搜索),或者
无竞争条件:它们细分数据结构,使得每个部分可以使用共享内存单独安全地处理(例如并行Quicksort)
你知道任何可理解的(半)异步算法吗?
编辑:我使用HT Kung 的技术报告同步和异步并行算法的多处理器术语.
编辑2:为了澄清术语,本文区分了不同类型的算法:
algorithm parallel-processing synchronization asynchronous shared-memory
我刚刚开始使用我已经工作了一段时间的项目的Xcode 6.3.我做了一些改动而不是运行以前工作的程序.结果:消息构建失败
编译ZXParsedResult.m ...

所以ZXing库突然不能再被编译了.我想这是另一个XCode错误(即使重置了以前工作的代码库的所有更改,程序也不会运行).是否可以禁用此错误消息?
我已经触发了项目的成功清理.
xcode compiler-errors compiler-warnings suppress-warnings zxing
我打算写一个新的应用程序,它应该有一个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的解决方案.
在阅读了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)
记忆化的关键区别在哪里?
我正在使用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
我无法使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) 我在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) scala ×2
algorithm ×1
asynchronous ×1
awt ×1
border ×1
casting ×1
containment ×1
cordova ×1
core-data ×1
dimensions ×1
fibonacci ×1
frp ×1
haskell ×1
ionic ×1
java ×1
java-8 ×1
java-stream ×1
javascript ×1
memoization ×1
qt ×1
swift ×1
swing ×1
uiimageview ×1
uiscrollview ×1
xcode ×1
zxing ×1