我需要了解NSView如何自动化它的视图.我已经在IB中设置了所有内容,并且我的子视图调整得很好(当我用鼠标调整窗口大小时).但是,如果我[myMainView setFrame:]使用我的新帧rect,则没有任何反应.我的所有子视图仍然是原始大小(即使主视图具有正确的尺寸).孩子resizeWithOldSuperviewSize:被召唤,但它的大小仍然不合适.
屏幕上有一个屏幕充满了可可元素(屏幕#1),标签,图像,视频.这些元素有一个明确定义的布局.我通过Interface Builder设置了自动调整行为,效果非常好.调整主窗口大小可以令人满意的方式调整元素的大小.
现在,用户点击"下一步"按钮,然后绘制第二个屏幕元素(屏幕#2).我的布局是基于规范的屏幕尺寸(例如,800x600)构建的.但是现在窗口更大(或更小),因为它在屏幕#1中调整了大小.因此,元素现在只占用窗口中的一小块区域,而不是适当地调整大小以填充可用空间.我想扩展这些元素.
我误解了自动调整的工作方式吗?如何手动触发NSView下的自动调整机制?
我可以做两件事:
有没有一种快速的方法来同步Xcode中的两个(或更多)目标?当我忘记将新文件添加到单元测试和集成目标时,这就成了一个问题.然后我必须去打猎,看看我忘了添加什么.我可以复制我的"开发"目标,然后重新添加"单元测试"配置,但这很痛苦.有没有更简单的方法?
编辑:
我喜欢John的答案,但最终我使用了这里的答案,包括手动编辑项目文件.多个丢失的文件是最快捷的方式.
正如标题所述,为什么UIKit代表(assign)代替(weak)?
参见UIPopovercontroller.h例如:
@property (nonatomic, assign) id <UIPopoverControllerDelegate> delegate;
据我所知,这对于弱保留的属性没有任何好处,但是代理需要管理它作为代表的生命周期的许多问题.这是一个向后兼容问题吗?
谢谢
嘿所有,我正在调试mac os 10.5上的C++应用程序.偶尔,我会做一些不好的事情并导致段错或非法操作.这导致应用程序挂了一段时间,最终系统对话框通知我崩溃."挂起"和对话之间的等待时间很长; 几分钟.如果我尝试强制退出应用程序或kill -9从命令行退出没有任何反应.如果我从调试器(gdb)启动应用程序,在崩溃时我返回到gdb提示符并可以干净地退出该进程.虽然gdb的加载速度很慢,但这并不理想.
无论如何,你们可以推荐一些东西吗?有没有办法在OS X中禁用崩溃报告机制?
谢谢.
更新1:这是从XCode执行中遗留下来的僵尸.显然xcode也无法正常停止.
1 eightieight@eightieights-MacBook-Pro:~$ ps auxw|grep -i Reader 2 eightieight 28639 0.0 0.0 599828 504 s004 R+ 2:54pm 0:00.00 grep -i reader 3 eightieight 28288 0.0 1.1 1049324 45032 ?? UEs 2:46pm 0:00.89 /Users/eightieight/workspace/spark/spark/reader/browser/build/Debug/Reader.app/Contents/MacOS/Reader 4 eightieight 28271 0.0 1.1 1049324 45036 ?? UEs 2:45pm 0:00.89 /Users/eightieight/workspace/spark/spark/reader/browser/build/Debug/Reader.app/Contents/MacOS/Reader 5 eightieight 28146 0.0 1.1 1049324 44996 ?? UEs 2:39pm 0:00.90 /Users/eightieight/workspace/spark/spark/reader/browser/build/Debug/Reader.app/Contents/MacOS/Reader 6 eightieight 27421 0.0 1.1 1049328 45024 ?? UEs 2:29pm 0:00.88 /Users/eightieight/workspace/spark/spark/reader/browser/build/Debug/Reader.app/Contents/MacOS/Reader …
我正在浏览一个有点大的XML文件.假设我在树中寻找特定值.我手动找到它,但然后以编程方式找到它我需要知道路径.现在,我正在使用tidy和vim漂亮打印文件,以便我可以手动检查它.它虽然变得很快,但是因为文件超过30,000行.因此,当我找到上述值时,确定完整路径是一个相当大的挑战.理想情况下,我想要一个工具,让我对xml文件的内容进行全面搜索,然后显示到根的完整树路径.这个问题有一些很棒的建议,但它们都只是Windows.Mac上有什么东西吗?
我正在玩一个简单的光线跟踪器,我想最终得到一个简短的动画片段.现在我正在将场景渲染为位图.我想最简单的电影格式是可能的,因为我可能必须从头开始实现它(在erlang中).想到GIF动画.还有什么可以提供相同的降压吗?我对保真度或高压缩感兴趣.
PS:我想避免将帧渲染成单个文件,并使用ImageMagick等外部工具将它们组合成GIF或AVI.
我的应用程序是一个自定义格式的查看器,一个带有明确定义的XML清单和资源(如图像和电影)的zip文件.我使用zlib打开内存中的zip文件,然后继续显示所述资源.
我遇到的一个问题是我无法正确显示视频,显然是因为QTMovie无法确定mime类型.从文件加载的电影([QTMovie movieWithFile])完美无缺.从内存中加载([QTMovie movieWithData])拒绝工作.
这是有道理的,因为缺少文件扩展名,QTMovie无法确定mime类型信息.经过一番搜索后,我在下面的mannner中使用了QTDataReference:
NSData *movieData = ...read from memory...;
QTDataReference *movieDataReference = [[QTDataReference alloc] initWithReferenceToData:movieData name:fileName MIMEType:@"video/x-m4v"];
QTMovie *mov = [QTMovie movieWithDataReference:movieDataReference error:&err];
Run Code Online (Sandbox Code Playgroud)
这很好用,但硬编码MIMEType远非理想.我可以访问文件名和扩展名,所以我试图使用UTI找到mime-type(感谢#macdev上的好朋友):
- (NSString*)mimeTypeForExtension:(NSString*)ext {
CFStringRef UTI = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension,(CFStringRef)ext,NULL);
return NSMakeCollectable(UTTypeCopyPreferredTagWithClass((CFStringRef)UTI,kUTTagClassMIMEType));
}
Run Code Online (Sandbox Code Playgroud)
然而,这不起作用.显然,在某个地方有一个扩展的内部OS X数据库和相应的mime类型.否则,磁盘电影将无法正常工作.我如何获得它?
谢谢!
我正在Rails 4中编写一个非常标准的CRUD RESTful API.但是我的错误处理却很简单.
想象一下,我有以下型号:
class Book < ActiveRecord::Base
validates :title, presence: true
end
Run Code Online (Sandbox Code Playgroud)
如果我尝试创建没有标题的图书对象,我将收到以下错误:
{
"title": [
"can't be blank"
]
}
Run Code Online (Sandbox Code Playgroud)
ActiveRecord验证旨在与Forms一起使用.理想情况下,我希望将每个人类可读验证错误与API使用者可以使用的常量相匹配.所以类似于:
{
"title": [
"can't be blank"
],
"error_code": "TITLE_ERROR"
}
Run Code Online (Sandbox Code Playgroud)
这可以用于显示面向用户的错误("标题不能为空"),也可以在其他代码中使用(if response.error_code === TITLE_ERROR...).在Rails中是否有任何工具?
编辑:这是Rails 2天非常相似的问题.
我有一个以下对象模型:
- Book -- Chapter 1 --- Page 1 ---- Image 1 ---- Image 2 ---- Text 1 --- Page 2 ...
资源在页面级别下降.但是,从资源的角度来看,我需要知道资源的完整路径.
一种方法是让资源了解他们的父母.
所以我的Image对象可以有一个"parentPage"属性,而该属性又可以有一个"parentChapter"属性.这样,我可以通过currentImage.parentPage.parentChapter访问完整路径.有没有更好的办法?
关于为什么我需要从资源的角度了解完整路径的几句话.我有一个在屏幕上行走和渲染的对象模型.渲染器从章级别一直下降到元素/资源级别(这是渲染发生的位置).但是,要显示资源,我需要知道它们的存在位置(即磁盘上的实际路径),并且通常在章级别指定此信息.
谢谢!
- 编辑 - 只是为了澄清,这个parent.parent方法是最好的吗?它迫使儿童对象了解父母,这让我感到不舒服.耦合?
这是设置:
我的同事有一台带有gcc 4.3.3交叉编译器的Fedora x64_86机器(来自buildroot).我有一个Ubuntu 9.04 x64_86机器与相同的交叉编译器.
我的同事建立了一个在测试机器上运行的库+测试应用程序,我编译了相同的库和testapp,它在同一台测试机器上崩溃了.
据我所知,gcc是针对buildroot编译的ucLibc构建的,所以,相同的代码,相同的编译器.哪种主机差异会影响交叉编译?
有任何见解赞赏.
更新:为了澄清,编译器是相同的.库和testapp的源代码是相同的.唯一的区别是testapp + lib已在不同的机器上编译.
我试图理解一段代码是如何工作的.我为一个函数启用了一个断点,但看起来它永远不会被击中.所以,每当调用此类中的任何函数时,我都想要中断.这可能吗?
谢谢!