## storyboard文件的认识

- 作用:描述软件界面

- 程序启动的简单过程

- 程序一启动,就会加载`Main.storyboard`文件

- 会创建箭头所指的控制器,并且显示控制器所管理的软件界面

- 配置程序一启动就会加载的storyboard文件

## 控制器

- 概念:凡是继承自UIViewController的对象,都叫做控制器

- 注意:每一个控制器都会专门管理一个软件界面

- 作用:负责处理软件界面的各种事件、负责软件界面的创建和销毁

## IBAction

- 只能修饰方法的返回值类型

- 被IBAction修饰的方法

- 能拖线到storyboard中

- 返回值类型实际是void

- 使用格式

```objc

- (IBAction)buttonClick

{

}

```

## IBOutlet

- 只能修饰属性

- 被IBOutlet修饰的属性

- 能拖线到storyboard中

- 使用格式

```objc

@property (nonatomic, weak) IBOutlet UILabel *label;

```

## 关于IBAction、IBOutlet前缀IB的解释

- 全称:Interface Builder

- 以前的UI界面开发模式:Xcode3 + Interface Builder

- 从Xcode4开始,Interface Builder已经整合到Xcode中了

## 类扩展(Class Extension)

- 作用

- 能为某个类增加额外的属性、成员变量、方法声明

- 一般将类扩展写到.m文件中

- `一般将一些私有的属性写到类扩展`

- 使用格式

```objc

@interface 类名()

/* 属性、成员变量、方法声明 */

@end

```

- 与分类的区别

- 分类的小括号必须有名字

```objc

@interface 类名(分类名字)

/* 方法声明 */

@end

@implementation 类名(分类名字)

/* 方法实现 */

@end

```

- 分类只能扩充方法

- 如果在分类中声明了一个属性,分类只会生成这个属性的get\set方法声明

## 常见错误

- 第1个错误

- 错误描述:

```objc

[<ViewController 0x7fdc0152d300> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key label.

```

- 原因:IBOutlet属性代码被删掉了,但是属性连线还在

- 解决:将残留的连线删掉

- 第2个错误

- 错误描述:

```objc

-[ViewController blueClick]: unrecognized selector sent to instance 0x7ff59d014320

```

- 原因:调用了一个不存在的方法

- 解决:认真检查方法名,使用正确并且存在的方法名

## 项目的常见属性

- Product Name

- 产品名称

- 项目名称

- 软件名称

- Organization Name

- 公司名称

- Organization Identifier

- 公司的唯一标识

- 一般用网站域名的反写形式

- Bundle Identifier

- 软件的唯一标识

- 默认 == Organization Identifier + Product Name

storyboard简单认识的更多相关文章

  1. StoryBoard 简单使用

    StoryBoard简单使用 故事版(storyboard)是一种简洁的图形界面,程序员可以采取拖的形式搭建一个界面,现在使用的xcode默认都会创建一个main.storyboard,作为app的入 ...

  2. 怎样在xcode中使用storyboard

    StoryBoard是iOS 5的新特征,目的是取代历史悠久的NIB/XIB,对于已经习惯了xib文件的孩子们来说,StoryBoard还不是那么熟悉.经过两天的研究,有了一些心得,在此分享. 一.怎 ...

  3. UITableViewcell autolayout下动态高度

    项目中最经常使用的一个UI就是UITableView了.iOS7.8进一步优化了复用机制,用起来相当爽.配合Autolayout,适配工作减轻了非常多. 曾经做适配工作都是在heightForRow里 ...

  4. 《Programming WPF》翻译 第8章 5.创建动画过程

    原文:<Programming WPF>翻译 第8章 5.创建动画过程 所有在这章使用xaml举例说明的技术,都可以在代码中使用,正如你希望的.可是,代码可以使用动画在某种程度上不可能在x ...

  5. 8--UI 初步认识 简易计算器

    UI是App的根基:一个App应该是先有UI界面,然后在UI的基础上增加实用功能(2)UI相对简单易学:UI普遍是学习过程中最简单的一块,能快速拥有成就感和学习兴趣(3)UI至关重要:开发中的绝大部分 ...

  6. 如何使用Xcode进行高保真原型设计?

    转载自:http://www.guimobile.net/xcode-high-fidelity-prototype-design.html Xcode不仅是开发者用来开发iOS Apps的开发工具, ...

  7. iOS开发——UI进阶篇(八)pickerView简单使用,通过storyboard加载控制器,注册界面,通过xib创建控制器,控制器的view创建,导航控制器的基本使用

    一.pickerView简单使用 1.UIPickerViewDataSource 这两个方法必须实现 // 返回有多少列 - (NSInteger)numberOfComponentsInPicke ...

  8. [转]使用storyboard实现页面跳转,简单的数据传递

    由于最近才接触到IOS,苹果已经建议storyboard来搭建所有界面了,于是我也追随时尚,直接开始使用storyboard.(不料在涉及到页面跳转的时候,遇到的问题是:点击后没有任何反应)众所周知, ...

  9. 使用storyboard实现页面跳转,简单的数据传递

    由于最近才接触到IOS,苹果已经建议storyboard来搭建所有界面了,于是我 也追随时尚,直接开始使用storyboard.(不料在涉及到页面跳转的时候,遇到的问题是:点击后没有任何反应)众所周知 ...

随机推荐

  1. spring.net学习(一) 搭建环境,实例化spring.net容器。

    1,使用nuget安装SPring.Core.安装这个的同时,会把Common.Logging,Common.Logging.Core也装上. 2,建立对象配置xml文件.如图Objects.xml. ...

  2. Sprint(第十一天11.24)

  3. css的小技巧

    前几天看到<css揭秘>这本书,第一感觉是 css怎么能出这么厚的一本书,不过 细细一想,用好css真的可以实现很多想要的效果,节省很多js代码. 总结几个css的小技巧: 1,将所有元素 ...

  4. 【51nod】区间求和

    LYK在研究一个有趣的东西. 假如有一个长度为n的序列,那么这个序列的权值将是所有有序二元组i,j的 Σaj−ai 其中1<=i<j<=n. 但是这个问题似乎太简单了. 于是LYK想 ...

  5. x265,帧内预测代码分析

    void Analysis::compressIntraCU(const CUData& parentCTU, const CUGeom& cuGeom, uint32_t& ...

  6. 在ie7中overflow:hidden失效问题及解决方案

    css兼容ie7: 做页面的时候用负边距居中的时候在IE7下面,父节点中的overflow:hiden失效的问题,查阅了一些资料,总结一下解决方法. 问题原因: 当父元素的直接子元素或者下级子元素的样 ...

  7. 电子爱好者DIY篇

    2016/7/15 电子爱好者DIY篇 一年和之前就想到了一些感悟,现在有些模糊的清晰起来了,但还是不够清晰,故写下来做个日志. 结论 首先把结论放在前面.目前随着电子集成电路的发展,电子DIY越来越 ...

  8. Inverted sentences

    And ever has it been that love knows not its own depth until the hour of separation.  除非临到了别离的时候,爱永远 ...

  9. Web之路笔记之二 - CSS Positioning

    CSS中控制各个Block element的位置方式之一,tag为position,有4种属性. 1. static 一般网页默认的属性,表示element根据页面正常流(normal flow)进行 ...

  10. Oracle 11g default profile 默认启用密码过期180天 ORA-28001错误处理

    问题描述:客户反映客户端不能登录应用程序时不能连接.环境:AIX 5.3 + Oracle 11gR2解决:远程Telnet到数据库主机,sqlplus / as sysdba 连接后操作正常,表明数 ...