小编Ken*_*ses的帖子

对于关键视图,此类不符合键值编码

我是一个非常新的xcode ...一个应用程序(简单的计算器)工作相当不错(在模拟器和设备上).当我在Target摘要选项中设置主界面时,启动模拟器时出现以下错误:

2012-04-14 12:17:27.123 CalcTest [27550:f803] *由于未捕获的异常'NSUnknownKeyException'而终止应用,

原因:' [<UIApplication 0x6a14650> setValue:forUndefinedKey:]:这个类不是关键值计算器屏幕的关键值编码兼容.

*第一掷调用堆栈:(0x12db022 0x18f8cd6 0x12daee1 0xcc2022 0xc33f6b 0xc33edb 0xc4ed50 0x53671a 0x12dcdea 0x12467f1 0x53526e 0x536eb7 0x313ce1 0x313ff8 0x31317f 0x322183 0x322c38 0x316634 0x27fcef5 0x12af195 0x1213ff2 0x12128da 0x1211d84 0x1211c9b 0x312c65 0x314626 0x1bad 0x1b15为0x1)终止叫做抛出异常(LLDB)

为了找到问题,我开始了一个新的基于视图的项目.

在模拟器上运行空的新项目 - >工作,

但是当我将主界面设置为ViewController时,在摘要中 - >模拟器崩溃了

2012-04-14 12:11:17.492崩溃[27494:f803] *由于未捕获的异常'NSUnknownKeyException'终止应用程序,原因:

' [<UIApplication 0x6a6f4b0> setValue:forUndefinedKey:]:这个类不是关键视图的键值编码兼容. *第一次抛出调用堆栈:

(0x13c7022 0x1558cd6 0x13c6ee1 0x9bf022 0x930f6b 0x930edb 0x94bd50 0x23371a 0x13c8dea 0x13327f1 0x23226e 0x233eb7 0x10ce1 0x10ff8 0x1017f …

iphone xcode objective-c ios

50
推荐指数
4
解决办法
9万
查看次数

为什么使用clang的2阶段命令行构建不会生成dSYM目录?

我有一个简单的项目,我想调试想生成带调试符号的dSYM文件夹.

运行:

clang++ -std=c++14 -stdlib=libc++ -g -o Lazy Lazy.cpp

像我期望的那样创建Lazy.dSYM.

然而:

clang++ -std=c++14 -stdlib=libc++ -g -c Lazy.cpp
clang++ -stdlib=libc++ -g -o Lazy Lazy.o
Run Code Online (Sandbox Code Playgroud)

不创建Lazy.dSYM(似乎符号嵌入在二进制文件中).

遗憾的是,两步构建是我修改后的makefile所做的.如何从两阶段编译和链接构建生成Lazy.dSYM?

不需要 dSYM目录,只需调试符号,但想了解它的创建时间和原因.

c++ debugging macos debug-symbols

15
推荐指数
1
解决办法
4009
查看次数

如何在应用程序启动时使我的NSTextField不突出显示其文本?

当我的应用程序启动时,第一个NSTextField被选择如下:

在此输入图像描述

我可以编辑NSTextField,但是当我按Enter键结束编辑时,文本会再次被选中,编辑也不会结束.

我在这里遵循了Apple教程,并且我在文本字段中永远突出显示了同样的问题.

我怎么阻止这个?我想它所以文本字段不是应用程序的第一个响应者所以它不会立即编辑,当它被编辑时,单击文本字段外部将结束它.[[textField window]makeFirstResponder:nil]在后一种情况下,我不确定在哪里停止编辑.

我正在运行Yosemite 10.10.2.

macos cocoa objective-c nstextfield

11
推荐指数
2
解决办法
2343
查看次数

使用sortedArrayUsingDescriptors和Key Paths排序

我有一个无序数组与以下类的实例:

@interface Place : NSObject {

}

@property (nonatomic, copy) NSString *country;
@property (nonatomic, copy) NSString *city;
@property (nonatomic, retain) NSURL   *imageURL;


-(id) initWithCountry: (NSString *) aCountry city: (NSString *) aCity imageUrl: (NSURL *) aUrl;


@end
Run Code Online (Sandbox Code Playgroud)

我正在尝试按国家和城市使用sortedArrayUsingDescriptors对其进行排序.NSSortDescriptor的文档说initWithKey的arg是一个关键路径.

但是,如果我尝试使用NSortDescriptor,例如:

NSSortDescriptor *country = [[[NSSortDescriptor alloc] initWithKey:@"country.city" ascending:YES]autorelease];
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

NSMutableSet *bag = [[[NSMutableSet alloc] init] autorelease];
[bag addObject:[[Place alloc] initWithCountry:@"USA" 
                                         city:@"Springfield" 
                                     imageUrl:[NSURL URLWithString:@"http://www.agbo.biz"]]];
[bag addObject:[[Place alloc] initWithCountry:@"Afghanistan" 
                                         city:@"Tora Bora" 
                                     imageUrl:[NSURL URLWithString:@"http://www.agbo.biz"]]];
[bag addObject:[[Place alloc] initWithCountry:@"USA" 
                                         city:@"Chicago" 
                                     imageUrl:[NSURL URLWithString:@"http://www.agbo.biz"]]];

[bag addObject:[[Place alloc] initWithCountry:@"USA" 
                                         city:@"Chicago" …
Run Code Online (Sandbox Code Playgroud)

sorting cocoa objective-c key-value-observing nssortdescriptor

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

基于NSTableViewCell的上下文菜单

我想把一个上下文菜单放到一个NSTableView.这部分完成了.我要做的就是根据右键单元格的内容显示不同的菜单条目,而不显示特定列的上下文菜单.

这是:

第0列,第1列没有上下文菜单

所有其他单元格应该具有如下的上下文菜单:

第一个条目:"删除"samerow.column1.value
第二个条目:"save"samecolumn.headertext

希望问题很清楚..

谢谢

-编辑-

右边的那个是上下文菜单对于任何给定单元格应该是什么样子.

在此输入图像描述

cocoa contextmenu objective-c nstableview nstableviewcell

9
推荐指数
1
解决办法
7610
查看次数

从OS /应用程序分析CPU高速缓存/内存?

我希望编写的软件本质上可以分析CPU缓存(L2,L3,可能是L1)和内存,以分析性能.

我认为这是不可行的,因为软件无法访问缓存内容吗?

另一种措辞我的问:有什么方法可以从操作系统/应用程序级别知道哪些数据已加载到缓存/内存中?

编辑:操作系统Windows或Linux和CPU Intel Desktop/Xeon

linux windows cpu caching

8
推荐指数
2
解决办法
5823
查看次数

'常数不是有限的!那是违法的.目标C中的常数:nan'错误

当我尝试启动我正在处理的应用程序时,我收到以下错误.'常数不是有限的!那是违法的.恒:楠"

这是Instagram的学校项目克隆.我认为错误是在子视图中或可能在创建的约束中,但不幸的是我只是没有看到问题.

- (void) layoutSubviews {
    [super layoutSubviews];

     // Before layout, calculate the intrinsic size of the labels (the size they "want" to be), and add 20 to the height for some vertical padding.
    CGSize maxSize = CGSizeMake(CGRectGetWidth(self.bounds), CGFLOAT_MAX);
    CGSize usernameLabelSize = [self.usernameAndCaptionLabel sizeThatFits:maxSize];
    CGSize commentLabelSize = [self.commentLabel sizeThatFits:maxSize];

    self.usernameAndCaptionLabelHeightConstraint.constant = usernameLabelSize.height + 20;
    self.commentLabelHeightConstraint.constant = commentLabelSize.height + 20;
    self.imageHeightConstraint.constant = self.mediaItem.image.size.height / self.mediaItem.image.size.width * CGRectGetWidth(self.contentView.bounds);

    // Hide the line between cells
    self.separatorInset = UIEdgeInsetsMake(0, 0, 0, CGRectGetWidth(self.bounds));
}

NSDictionary …
Run Code Online (Sandbox Code Playgroud)

objective-c ios

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

无法确定EXC_BAD_ACCESS的可能原因(在应用启动期间发生)

我在应用程序商店的应用程序中看到很多崩溃,我完全无法重现或推测代码审查原因可能是什么.特别令人困惑的是,这是在应用程序启动时发生的,同时存在内存不足 - 令人困惑,因为如果应用程序无法启动内存,我可能希望看到其他类型的崩溃报告而不是EXC_BAD_ACCESS - 即如果EXC_BAD_ACCESS由于访问已删除的内存,代码中没有任何地方可以删除任何内容,因为崩溃是在对象处于创建过程中时发生的.

我已经尝试了很多东西来重新创建它 - 在模拟器中运行并发送低内存警告消息,故意在应用程序创建过程中无法初始化各种对象,在应用程序启动期间调用calloc以消耗大量内存,运行应用程序众多在RAM完全超出的手机上的时间.我无法重新创建,或从代码检查中看到可能出错的地方.

这是一份崩溃报告:

Exception Type:  EXC_BAD_ACCESS (SIGSEGV) Exception Subtype:
KERN_INVALID_ADDRESS at 0x0000000000000000 **(many also at 0x0000000000000008)**
Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0  The_Name_Of_MyApp             0x000000010268ca94 SearchViewController.init(coder:) + 838292 (SearchViewController.swift:67)
1  The_Name_Of_MyApp             0x000000010268ca88 SearchViewController.init(coder:) + 838280 (SearchViewController.swift:67)
2  The_Name_Of_MyApp             0x000000010268cd4c @objc SearchViewController.init(coder:) + 838988 (SearchViewController.swift:0)
3  UIKitCore                     0x00000001bca63d64 -[UIClassSwapper initWithCoder:] + 248
4  UIFoundation                  0x000000019a77fe88 UINibDecoderDecodeObjectForValue + 744
5  UIFoundation                  0x000000019a7800cc UINibDecoderDecodeObjectForValue + 1324
6  UIFoundation                  0x000000019a71eb3c -[UINibDecoder decodeObjectForKey:] + 320
7 …
Run Code Online (Sandbox Code Playgroud)

objective-c ios swift

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

如何在 MTKView 中使用多重采样?

我正在尝试使用MTKView. 我有MTKView一个代表。我将视图的sampleCount属性设置为 4。我创建了一个rasterSampleCount设置为 4的管道状态描述符,并使用它来创建渲染时使用的渲染管道状态。

在代理的draw(in:)方法,我通过获取该视图的当前渲染通道描述符和设置创建渲染过程描述storeActionmultisampleResolve。我也设置了尝试storeAndMultisampleResolve无济于事。

我为渲染通道描述符创建了一个解析纹理,它与视图具有相同的宽度和高度以及相同的像素格式。

鉴于上述情况,我在渲染过程中得到了一个完整的红框。我已经使用金属调试器来查看纹理,并且视图的纹理和解析纹理都有正确的渲染。我在 AMD 机器上,全红色纹理通常表示未初始化的纹理。

我需要做些什么才能让渲染进入屏幕?

下面是我设置视图、管道状态和解析纹理的方法:

    metalView = newMetalView
    metalView.sampleCount = 4
    metalView.clearColor = MTLClearColor(red: 0.0, green: 0.0, blue: 0.0, alpha: 0.0)
    device = newMetalView.device!

    let metalLibrary = device.makeDefaultLibrary()!
    let vertexFunction =  metalLibrary.makeFunction(name: "vertexShader")
    let fragmentFunction = metalLibrary.makeFunction(name: "fragmentShader")

    let pipelineStateDescriptor = MTLRenderPipelineDescriptor.init()
    pipelineStateDescriptor.label = "Particle Renderer"
    pipelineStateDescriptor.vertexFunction = vertexFunction
    pipelineStateDescriptor.fragmentFunction = fragmentFunction
    pipelineStateDescriptor.colorAttachments [ 0 ].pixelFormat = metalView.colorPixelFormat …
Run Code Online (Sandbox Code Playgroud)

multisampling swift metal metalkit

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

MacOS:未捆绑/ unix可执行文件的版本信息

对我来说这是一个难题:

  • for Bundles/Frameworks版本位于Info.plist中
  • 对于旧应用程序,它放在资源分叉中

但是今天我发现了一个新的可执行文件(LaunchDaemon),它没有资源分支,没有Info.plist,并且根据Finder中的右窗格有1.0.0.1110版本.问题是版本来自哪里?

macos finder mach-o spotlight info.plist

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