考虑以下场景:我有一个基于故事板的应用程序.我将一个ViewController对象添加到storyboard中,将此ViewController的类文件添加到项目中,并在IB身份检查器中指定新类的名称.现在我将如何从AppDelegate以编程方式引用此ViewController?我已经使用相关类创建了一个变量并将其转换为IBOutlet属性,但我没有看到任何方法能够在代码中引用新的ViewController - 任何尝试按住Ctrl键拖动连接都不起作用.
即在AppDelegate中我可以像这样到达基本的ViewController
(MyViewController*) self.window.rootViewController
Run Code Online (Sandbox Code Playgroud)
但故事板中包含的任何其他ViewController怎么样?
由于这个原因,我成功地为iPhone建立了提升:http: //gitorious.org/boostoniphone/boostoniphone 但是,我在XCode 3.2.6中无法链接到它.我得到的错误如下:
error: boost/unordered_map.hpp: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我已将包含arm6,arm7和i386的.a和.o文件的"build"文件夹拖到"框架"中,并将包含所有标题的"boost"文件夹的"include"文件夹添加到用户路径在构建设置中,一切都无济于事.我将非常感谢一些精确的,逐步指导如何链接到这个库(即请假设我有点愚蠢!事实上可能是这样!)我在这个主题上发现的其他帖子相当模糊就需要采取的具体行动而言.在此先感谢您的帮助.
在for循环中使用short而不是int有什么好处吗?即
for(short j = 0; j < 5; j++) {
Run Code Online (Sandbox Code Playgroud)
我的99%的循环涉及3000以下的数字,所以我认为int会浪费字节.谢谢!
我的应用程序中有2个故事板文件,我想在一个ViewController和另一个ViewController之间转换.我已经连接了一个IBAction,以响应第一个ViewController上的按钮按下,该控件调用AppDelegate中的方法.我已经验证此信号到达AppDelegate方法.
这是我在AppDelegate中的相关方法,但是没有发生转换.任何人都可以告诉我为什么,或者有2个故事板是一个愚蠢的想法?
-(void) presentSecondViewController {
UIStoryboard* mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController* mainViewController = [mainStoryboard instantiateViewControllerWithIdentifier:@"main_viewcontroller"];
UIStoryboard* secondStoryboard = [UIStoryboard storyboardWithName:@"SecondStoryboard" bundle:nil];
UIViewController* secondViewController = [secondStoryboard instantiateViewControllerWithIdentifier:@"second_viewcontroller"];
[mainViewController presentViewController: secondViewController animated:YES completion: NULL];
Run Code Online (Sandbox Code Playgroud)
}
iphone ×3
ios ×2
storyboard ×2
xcode ×2
boost ×1
c++ ×1
for-loop ×1
loops ×1
objective-c ×1
uikit ×1