刚刚接触IOS,花了一段时间看我基础部分的OC后

就想试着弄个小程序,于是看到 http://www.cnblogs.com/LooDo/p/3907064.html博文中的小程序,博主分析的很详细,自己也想练手试试看,遇到

Application windows are expected to have a root view controller at the end of application launch

这个问题,一直调试不通代码。

归咎原因:

博主用的xcode版本是4.2版本以前的版本,而我是新手才入手买的Mac Pro 装得xcode自然也是最新的5.1版本。

xcode 4.2 不再支持 Window-Based Application 模板创建项目 。导致自己新建的项目中得MainWindow.xib文件中得window无法与委托中插座变量window关联起来。所以程序运行起来,调试时发现该变量window的值一直为空,以下是解决方法。 按照如下步骤来做,程序是能调试通过的。

1.Ctrl+N,创建User Interface下面的Window(选择“iOS->User Interface->Window),命名成MainWindow.xib。
 2.File Owner修改成UIApplication。(即调出show identity inspector面板,将file's Owner的属性Custom Class中将class改为UIApplication。)

4.从Library库中,拖个Object出来添加,并修改类为Delegate的那个类,最开始自动生成的那个。(即将新添加的Object的Class改为AppDelegate)

5.把Delegate类的属性window声明加上IBOutlet,这样才好在IB里面连接。(即将AppDelegate中UIWindow属性标记为IBOutlet)

即@property (strong,nonatomic) UIWindow *window;修改为:@property (strong, nonatomic) IBOutlet UIWindow *window;

    然后,把MainWindow.xib的FileOwner的delegate设置为你的AppDelegate。FileOwner的delegate和AppDelegate(Object)连接:(蓝色连线哦)

把Window和你AppDelegate中的Outlet关联起来:

上图即AppDelegate的outlets和Window连接起来。
     6.(可以看到,已经有一个Window对象,此window对象就是iphone的屏幕。)把window属性连接到IB中默认出现的Window。

 7.关键一个步骤,打开项目属性,在Summary下面的Main Interface里面选择MainWindow完事。


初学ios遇到问题记录01的更多相关文章

  1. iOS回顾笔记( 01 )

    html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...

  2. iOS回顾笔记( 01 )-- XIB和纯代码创建应用的对比

    header{font-size:1em;padding-top:1.5em;padding-bottom:1.5em} .markdown-body{overflow:hidden} .markdo ...

  3. iOS开发之记录用户登录状态

    iOS开发之记录用户登录状态 我们知道:CoreData的配置和使用步骤还是挺复杂的.但熟悉CoreData的使用流程后,CoreData还是蛮好用的.今天要说的是如何记录我们用户的登陆状态.例如微信 ...

  4. IOS开发之记录用户登陆状态,ios开发用户登陆

    IOS开发之记录用户登陆状态,ios开发用户登陆 上一篇博客中提到了用CoreData来进行数据的持久化,CoreData的配置和使用步骤还是挺复杂的.但熟悉CoreData的使用流程后,CoreDa ...

  5. iOS系列 基础篇 01 构建HelloWorld,剖析并真机测试

    iOS基础 01 构建HelloWorld,剖析并真机测试 前言: 从控制台输出HelloWorld是我们学习各种语言的第一步,也是我们人生中非常重要的一步. 多年之后,我希望我们仍能怀有学习上进的心 ...

  6. iOS 之 UINavigationController 记录

    有一阵子没有写随笔,感觉有点儿手生.一个多月以后终于又一次坐下来静下心写随笔,记录自己的学习笔记,也希望能够帮到大家. 废话少说回到正题,UINavigationController是IOS编程中比较 ...

  7. IOS开发之记录用户登陆状态

    上一篇博客中提到了用CoreData来进行数据的持久化,CoreData的配置和使用步骤还是挺复杂的.但熟悉CoreData的使用流程后,CoreData还是蛮好用的.今天要说的是如何记录我们用户的登 ...

  8. [IOS初学]ios 第一篇 storyboard 与viewcontroller的关系

    学习了一下ios,把一个基本的概念搞清楚了,在android或者wp中,大家基本都是习惯与一个画面场景代表一个类,新建场景的时候自动新建了类,但在ios中使用了storyboard之后发现,在stor ...

  9. iOS运用fabric记录crash日志过程

    先前运用友盟记录app闪退,发现有些闪退的记录无法明确定位到详细的位置,决定运用fabric进行闪退的记录:网上也有这方面的记录,有些细节的内容不明确,把今天碰到的坑整理记发不一下: 访问官网地址(进 ...

随机推荐

  1. Vector 的清空

    前两天比赛有一道题,有用到了vector的清空,用的是swap,我一开始还不太清楚,所以去查了下资料,转载一篇关于vector的清空的. vector <int> vecInt; ; i& ...

  2. Tomcat 6.0下配置HTTPS

    最近项目需要使用到https,所以回顾整理了一下,其实在tomcat的文档中已经有了详细描述,我们启动Tomcat后,可以在docs文档中找到 地址如下:http://localhost:8080/d ...

  3. HANA内存数据库与oracle数据库的性能比较

    链接: http://wenku.it168.com/redian/hana/ 1.传统磁盘数据库的基本访问模式.为了提高性能在产品和应用之间会加入缓存的内存区域.传统数据库性能瓶颈主要出现在一个是内 ...

  4. ActionBar官方教程(10)ActionBar的下拉列表模式

    Adding Drop-down Navigation As another mode of navigation (or filtering) for your activity, the acti ...

  5. 【HDOJ】4210 Su-domino-ku

    DLX.在模板的基础上增加一个FILL属性,略修改即可. /* 4210 */ #include <iostream> #include <string> #include & ...

  6. bzoj3796

    好像已经很久没有做后缀数组的题目,导致这种题一开始没想出来看到公共子串肯定想到后缀数组吧,但我都忘了最长公共子串怎么求了重要的性质:最长公共子串=max(h[i])名次相邻的两个后缀要分别属于s1,s ...

  7. BZOJ3781: 小B的询问

    3781: 小B的询问 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 146  Solved: 98[Submit][Status] Descript ...

  8. 利用 Dolby® Digital Plus 提供优质音频体验

    John Deutscher Azure媒体服务首席项目经理 随着媒体设备的增多,一项日益增长的需求是,视频流服务能够向用户提供超高音频质量和具有 5.1 环绕音响的优质内容.通过 Azure媒体 ...

  9. 【HtmlParser】HtmlParser使用

    转载 http://www.cnblogs.com/549294286/archive/2012/09/04/2670601.html HTMLParser的核心模块是org.htmlparser.P ...

  10. Node.js 创建第一个应用

    如果我们使用PHP来编写后端的代码时,需要Apache 或者 Nginx 的HTTP 服务器,并配上 mod_php5 模块和php-cgi. 从这个角度看,整个"接收 HTTP 请求并提供 ...