刚刚接触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的更多相关文章
-
iOS回顾笔记( 01 )
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...
-
iOS回顾笔记( 01 )-- XIB和纯代码创建应用的对比
header{font-size:1em;padding-top:1.5em;padding-bottom:1.5em} .markdown-body{overflow:hidden} .markdo ...
-
iOS开发之记录用户登录状态
iOS开发之记录用户登录状态 我们知道:CoreData的配置和使用步骤还是挺复杂的.但熟悉CoreData的使用流程后,CoreData还是蛮好用的.今天要说的是如何记录我们用户的登陆状态.例如微信 ...
-
IOS开发之记录用户登陆状态,ios开发用户登陆
IOS开发之记录用户登陆状态,ios开发用户登陆 上一篇博客中提到了用CoreData来进行数据的持久化,CoreData的配置和使用步骤还是挺复杂的.但熟悉CoreData的使用流程后,CoreDa ...
-
iOS系列 基础篇 01 构建HelloWorld,剖析并真机测试
iOS基础 01 构建HelloWorld,剖析并真机测试 前言: 从控制台输出HelloWorld是我们学习各种语言的第一步,也是我们人生中非常重要的一步. 多年之后,我希望我们仍能怀有学习上进的心 ...
-
iOS 之 UINavigationController 记录
有一阵子没有写随笔,感觉有点儿手生.一个多月以后终于又一次坐下来静下心写随笔,记录自己的学习笔记,也希望能够帮到大家. 废话少说回到正题,UINavigationController是IOS编程中比较 ...
-
IOS开发之记录用户登陆状态
上一篇博客中提到了用CoreData来进行数据的持久化,CoreData的配置和使用步骤还是挺复杂的.但熟悉CoreData的使用流程后,CoreData还是蛮好用的.今天要说的是如何记录我们用户的登 ...
-
[IOS初学]ios 第一篇 storyboard 与viewcontroller的关系
学习了一下ios,把一个基本的概念搞清楚了,在android或者wp中,大家基本都是习惯与一个画面场景代表一个类,新建场景的时候自动新建了类,但在ios中使用了storyboard之后发现,在stor ...
-
iOS运用fabric记录crash日志过程
先前运用友盟记录app闪退,发现有些闪退的记录无法明确定位到详细的位置,决定运用fabric进行闪退的记录:网上也有这方面的记录,有些细节的内容不明确,把今天碰到的坑整理记发不一下: 访问官网地址(进 ...
随机推荐
-
结队开发项目——基于Android的无线点餐系统——NABC模型
特点:通过提前订餐,可以节约学生大量的排队时间. N(need):生活中可以发现许多同学都喜欢出去买饭,而且在有的摊位需要排很长时间的队,这样他们就会很晚吃到饭,下午有课的学生都不能睡午觉,所以通过我 ...
-
Redis配置中文翻译,3.2.1版
大部分常见设置都翻译了,还有一些是从网上复制的(懒) # Redis configuration file example. ## Redis配置文件示例 # # Note that in order ...
-
监督学习——logistic进行二分类(python)
线性回归及sgd/bgd的介绍: 监督学习--随机梯度下降算法(sgd)和批梯度下降算法(bgd) 训练数据形式: (第一列代表x1,第二列代表 x2,第三列代表 数据标签 用 0/ ...
-
数据库缓存mybatis,redis
简介 处理并发问题的重点不在于你的设计是怎样的,而在于你要评估你的并发,并在并发范围内处理.你预估你的并发是多少,然后测试r+m是否支持.缓存的目的是为了应对普通对象数据库的读写限制,依托与nosql ...
-
How far away ? HDU - 2586
How far away ? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
-
Python基础知识—sys模块初探
有关Python解释器的信息 与所有其他模块一样,必须使用import语句导入sys模块,即import sys. sys模块提供有关Python解释器的常量,函数和方法.dir(系统)给出了可用常量 ...
-
【Java入门提高篇】Day27 Java容器类详解(九)LinkedList详解
这次介绍一下List接口的另一个践行者——LinkedList,这是一位集诸多技能于一身的List接口践行者,可谓十八般武艺,样样精通,栈.队列.双端队列.链表.双向链表都可以用它来模拟,话不多说,赶 ...
-
LeetCode第20题
LeetCode20题不多说上代码 public boolean isValid(String s){ Stack<Character> stack = new Stack<Char ...
-
利用python实现冒泡排序
1.先生存一个随机数组成的list 2.然后进行排序,把大的元素放在后面,小的元素放在前面,最终实现从小到大排列 首先生存一个随机数组成的list import random # print(sys. ...
-
oracle_存储过程_有参数_获取部门装置层级树
create or replace procedure P_UTIL_TREE(P_APPL_NAME in VARCHAR2, P_HIERARCHY_TYP in VARCHAR2, TREETY ...