小编And*_*riy的帖子

检查空引用?

让我们说你有这样的事情:

int& refint;
int* foo =0;
refint = *foo;
Run Code Online (Sandbox Code Playgroud)

你怎么能验证引用是否是NULL为了避免崩溃?

c++

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

使用核心动画显式动画NSView

我正在尝试NSView使用核心动画进行滑动.我想我需要使用显式动画而不是依赖于类似的东西[[view animator] setFrame:newFrame].这主要是因为我需要设置动画委托才能在动画结束后采取行动.

我使用动画师工作得很好,但正如我所说,我需要在动画结束时收到通知.我的代码目前看起来像:

// Animate the controlView
NSRect viewRect = [controlView frame];
NSPoint startingPoint = viewRect.origin;
NSPoint endingPoint = startingPoint;
endingPoint.x += viewRect.size.width;
[[controlView layer] setPosition:NSPointToCGPoint(endingPoint)];

CABasicAnimation *controlPosAnim = [CABasicAnimation animationWithKeyPath:@"position"];
[controlPosAnim setFromValue:[NSValue valueWithPoint:startingPoint]];
[controlPosAnim setToValue:[NSValue valueWithPoint:endingPoint]];
[controlPosAnim setDelegate:self];
[[controlView layer] addAnimation:controlPosAnim forKey:@"controlViewPosition"];
Run Code Online (Sandbox Code Playgroud)

这在视觉上有效(并且我在最后得到通知),但看起来实际的controlView没有被移动.如果我使窗口刷新,controlView将消失.我试过更换

[[controlView layer] setPosition:NSPointToCGPoint(endingPoint)];
Run Code Online (Sandbox Code Playgroud)

[controlView setFrame:newFrame];
Run Code Online (Sandbox Code Playgroud)

这确实会导致视图(和图层)移动,但它会破坏某些东西,以至于我的应用程序很快就会因为seg故障而死亡.

大多数显式动画的例子似乎只是在移动a CALayer.必须有一种方法来移动NSView并且还能够设置代理.任何帮助,将不胜感激.

cocoa delegates core-animation explicit nsview

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

如何实现NSCollectionView的上下文菜单

在我的OSX应用程序中,我有一个集合视图,它是一个子类NSCollectionView.

除了上下文菜单之外,我对这些事情都感到满意,我还想不通.

所以我想要的是:

  • 右键单击集合视图项将显示上下文菜单
  • 从菜单中选取的选项(删除,编辑等)将应用于执行点击的项目.

我知道怎么做,NSOutlineView或者NSTableView不是为了集合视图.

我无法弄清楚如何获取项目的索引点击.

有没有人对我如何实现这个有任何想法?

任何形式的帮助都非常感谢!

macos cocoa contextmenu nscollectionview

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

NSDictionary中的NSDictionary

好的,我有一个.plist文件,

我有一个NSDictionary *StoredAddresses,

里面StoredAddresses,是另一把NSDictionary

我知道我可以用,

if ([dictionaryOfAddresses objectForKey:@"StoredAddresses"])
Run Code Online (Sandbox Code Playgroud)

要访问顶级NSDictionaries,但如何在存储的地址内搜索密钥?

xcode key objective-c nsdictionary

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

显示地图时,iOS 6应用程序在EAGLContext中崩溃

我们有一个使用OpenGL和的应用程序MKMapView.当我们切换到iOS 6时[EAGLContext setCurrentContext:],每当我们尝试在设置我们自己的地图后显示地图时,它就开始与EXC_BAD_ACCESS 崩溃EAGLContext.

opengl-es objective-c ios ios6

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

Arpack++ 稀疏特征求解器比等效的 Matlab eigs() 慢很多倍

我需要在 C++ 程序中计算一个非常大的稀疏对称矩阵的 n 个最小幅度特征向量。对于我的示例,假设 n=30 并且矩阵是 10k x 10k,其中大约有 70k 个非零值。

在对一些库进行大量研究和试验后,我发现 ARPACK++ 可能是我最好的选择,我按照本页中的步骤安装了它。

使用以下代码段进行计算:

// L is an Eigen library matrix
L.makeCompressed();

ARluSymMatrix<MTYPE> A(L.cols(), L.nonZeros(), L.valuePtr(), L.innerIndexPtr(), L.outerIndexPtr(), 'U');

ARluSymStdEig<MTYPE> eig(n, A, "SM");

TIC
eig.FindEigenvectors();
TOC
Run Code Online (Sandbox Code Playgroud)

这让我得到了正确的结果,但需要大约 8.5 秒,而在 Matlab 中,我只需通过调用即可在大约 0.5 秒内获得相同的结果

tic
[V,D] = eigs(L,30,'sm');
toc
Run Code Online (Sandbox Code Playgroud)

根据我对 Matlab 主题的研究,eigs()还为相同的计算调用了 ARPACK fortran 库,所以我不明白为什么 C++ 包装器如此之慢。

此外,ARPACK++ 在许多情况下的行为非常奇怪,例如当我尝试使用浮点数而不是双精度数时,程序将简单地停止并且什么都不做,直到我将其取下,或者当尝试计算 0 或 0.0001 等值附近的特征向量时,这应该相当于'SM',它只是吐出垃圾并崩溃。

因此,我怀疑 ARPACK++ 是否真的那么慢,或者所有这些都是一些错误配置/安装的症状,如果是这样,我可以做些什么来解决它。感谢您的任何帮助,您可以提供。

c++ performance sparse-matrix eigen arpack

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

如何在NSVisualEffectView上叠加背景颜色并使用鲜明的控件?

我想使用NSVisualEffectView黑暗的活力,但我觉得在某些情况下效果太苍白,所以我想让背景变暗.

这是一个示例应用程序,使用NSBox视图提供更暗的背景.

在此输入图像描述

我们可以看到NSBox"主要"外观设法覆盖背景,按钮快乐地位于其上方.但是,在NSBox自定义外观上,按钮似乎通过背景"剪切"到下面的视觉效果视图.

我已经尝试了子类化NSVisualEffectView和覆盖-drawRect:,用不同的颜色填充它,结果是一样的.

有没有办法在其他视图上叠加充满活力的控件?

macos cocoa objective-c appkit nsvisualeffectview

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

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

命令行库构建因链接器错误而失败

我正在使用脚本在Xcode 4.3中使用Xcode 4.3构建GraphViz当前版本(2012年6月7日)时发现库未找到错误.我可能犯了错误,更新构建脚本来自其他人对Xcode4.3的新位置和Applications文件夹中的开发人员工具的成功配方.

ld: library not found for -lcrt1.10.6.o

(从内存中执行此操作,因此CRT lib上的确切数字可能是错误的)

我也有点迷失了如何将它合并到IDE中的Xcode构建中.我是一个非常有经验的程序员,但有时很难找到Xcode 4.(几十年的Visual Studio等).

我复制了之前这个问题的说明并进行了改编

#!/bin/sh
# For iPhoneOS, see http://clang.llvm.org/ for options
export DEV_iOS=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer
# was /Developer/Platforms/iPhoneOS.platform/Developer
export SDK_iOS=${DEV_iOS}/SDKs/iPhoneOS5.1.sdk
export COMPILER_iOS=${DEV_iOS}/usr/bin
export CC=${COMPILER_iOS}/clang
export CXX=${COMPILER_iOS}/clang++
export LDFLAGS="-arch armv7 -pipe -Os -gdwarf-2 -mthumb -isysroot ${SDK_iOS}"
export CFLAGS="${LDFLAGS}"
export OBJCFLAGS="${LDFLAGS}"
export CXXFLAGS="${LDFLAGS} -fvisibility-inlines-hidden"
export LD=${COMPILER_iOS}/ld
export CPP=${COMPILER_iOS}/clang
export AR=${COMPILER_iOS}/ar
export AS=${COMPILER_iOS}/as
export NM=${COMPILER_iOS}/nm
export CXXCPP="${COMPILER_iOS}/clang++"
export OBJC=${COMPILER_iOS}/clang
export RANLIB=${COMPILER_iOS}/ranlib

./configure \
--build=arm-apple-darwin11 \
--host=arm-apple-darwin11 \
--disable-dependency-tracking \ …
Run Code Online (Sandbox Code Playgroud)

graphviz ios5 xcode4.3

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

NSImage drawInRect 和 TemplateImages

有一个NSImage是模板图像(即[NSImage isTemplate]返回YES)。

当我在 NSImageView 中使用它时,它被正确地绘制为模板图像。

但是,如果我使用 手动绘制它,则会将其drawInRect:fromRect:operation:fraction:绘制为纯黑色图像。

如何手动绘制 NSImage 并仍然获得“模板”效果?

cocoa nsimage appkit drawrect

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