当我正在学习iPhone API时,我正在使用的书让我尽可能地使用Interface Builder.我们(有时候很孤独)也在编写代码,但我真的觉得我很熟悉Interface Builder.
我知道Interface Builder与其他GUI Builders不同,因为它使用序列化对象而不编写代码.这应该是一件好事.所以...在日常工作中,它是选择的工具,还是我应该试图克服对Interface Builder的依赖?
另外:如果你建议"这取决于你在做什么",它依赖于什么?我该如何决定是否使用Interface Builder?
注意:这个问题的主观和论证版本名为Interface Builder:Serious Tool或Just For Kids?但我决定反对它,因为我想避免让问题结束.
在询问之前我不想放弃,因为这是任何Java/.Net IDE中的基本功能.编译器告诉我:
Incomplete implementation of class...
Method definition for '-someMethod:' not found
Run Code Online (Sandbox Code Playgroud)
但点击,右键单击,祈祷和谷歌搜索并没有让我自动创建一个方法存根.Xcode可以为我创建一个方法存根并带我去吗?
如果没有,为什么会这样(除了"真正的程序员喜欢打字")?
编辑:我认为这option-escape基本上解决了这个问题,但事实并非如此.它似乎并不知道我的类实现的所有(任何?)接口.
我正在对将部署在Windows上的Rails应用程序进行一些初步测试,但VirtualBox中的开发服务器速度非常慢.我在Linux中从未见过这样的东西(但服务器平台必须是Windows),即使在相同的虚拟设备中也是如此.
Windows上的Rails在速度方面是否可行?
我在Bash中使用此功能
function parse_git_branch {
git_status="$(git status 2> /dev/null)"
pattern="^# On branch ([^${IFS}]*)"
if [[ ! ${git_status}} =~ "working directory clean" ]]; then
state="*"
fi
# add an else if or two here if you want to get more specific
if [[ ${git_status} =~ ${pattern} ]]; then
branch=${BASH_REMATCH[1]}
echo "(${branch}${state})"
fi
}
Run Code Online (Sandbox Code Playgroud)
但我决定使用zsh.虽然我可以在我的.zshrc中完美地使用它作为shell脚本(即使没有shebang),但错误是此行上的解析错误if [[ ! ${git_status}}...
我需要做些什么才能为zshell做好准备?
编辑:我得到的"实际错误"是" parse error near }指带有奇怪双重的行}},它对Bash有效.
编辑:这是最终的代码,只是为了好玩:
parse_git_branch() {
git_status="$(git status 2> /dev/null)"
pattern="^# On branch ([^[:space:]]*)" …Run Code Online (Sandbox Code Playgroud) 要让MIDI通过蓝牙工作,我需要使用CoreAudioKit框架.这很好用,但我无法在模拟器上编译.
ld: framework not found CoreAudioKit我认为它应该根据文档工作
我在代码中有这个,这就是我可以删除框架而没有问题的原因.
#if !TARGET_IPHONE_SIMULATOR
#import <CoreAudioKit/CoreAudioKit.h>
#endif
Run Code Online (Sandbox Code Playgroud)
我有一个用C#/ WinForms(我的小应用程序)编写的应用程序.为了使它跨平台,我正在考虑在Adobe AIR中重做它.有没有任何论据支持WinForms作为跨平台应用程序?Winforms是否存在跨平台的未来(例如,Mono等)?跨平台UI开发的建议?
通过跨平台我的意思是,目前,Mac OSX,Windows和Linux.
这个问题再次被问到并取得了更好的成功.
我在Java Swing应用程序中使用Groovy作为我计划强制提供动态语言的一部分,直到我喜欢它们(部分发生).
我的堆栈跟踪充满了像Groovy这样的东西
org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor
Run Code Online (Sandbox Code Playgroud)
有没有办法让Eclipse删除所有这些codehaus东西(过滤器堆栈跟踪,基本上)?
编辑:我可以从命令行执行此操作grep(好吧,还没有)所以它不是那么糟糕,但Eclipse内部也会很棒.
我正在尝试做一个非常简单的UINavigationController示例.这是我的代码:
- (void)viewDidLoad {
[super viewDidLoad];
Run Code Online (Sandbox Code Playgroud)
下一行有效,或者至少不会爆炸.
navController = [[UINavigationController alloc] initWithRootViewController:self];
self.title = @"blah";
PageOneController *one = [[[PageOneController alloc]init] autorelease];
Run Code Online (Sandbox Code Playgroud)
示例1.本行没有任何内容
[navController pushViewController:one animated:NO];
Run Code Online (Sandbox Code Playgroud)
示例2.此行工作(但当然没有导航控制器)
[self.view addSubview:one.view];
}
Run Code Online (Sandbox Code Playgroud)
为什么我无法将ViewController实例推送到navController并看到屏幕更改?
注意:我意识到我的概念可能会倒退,而且我不需要让我的视图引用某个UINavigationController......或者其他东西.
在我的应用程序中,我可以在两种模式下调用UIViewControle:Push和ModalDialog.
一旦UIViewController处于活动状态,如何将其称为Push或Modal Dialog,我如何确定?
我写了一个名为ensureInMainThread的小定义(我用了很多).但是,我不确定在主线程上需要调用哪些用户界面方法.怎么样setNeedsDisplay和setNeedsLayout?对于需要在iOS 5.x中的主线程上调用的方法,经验法则是什么?
这些问题是相关的(一些低质量的问题和答案,以及一些非常具体的案例),但我想要一个全面,单一的好答案: