## 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. 一个简单的JAVA C/S多线程应用

      import java.net.*;import java.io.*;public class simpleServer{private static ServerSocket serverSoc ...

  2. js获取当前日期

    var myDate = new Date();myDate.getYear();        //获取当前年份(2位)myDate.getFullYear();    //获取完整的年份(4位,1 ...

  3. js小程序写法优化

    (function(){ var gcld_but = document.getElementById("gcld_but"), gcld_but_li = gcld_but.ge ...

  4. Node.js 基础库

    全局对象 Node.js 中的全局对象是 global,所有全局变量(除了 global 本身以外)都是 global对象的属性. 我们在 Node.js 中能够直接访问到对象通常都是 global ...

  5. (十五)ioctl、ifreq、ifconf

    ioctl操作   传统上ioctl函数是用于那些普遍使用,但不适合归入其他类别的任何特性的系统接 口.Posix去掉了ioctl,它通过 创建特殊的其功能已被Posix标准化的包裹函数来代替ioct ...

  6. Redis setNX 实现分布式锁(重复数据插入可用其来实现排他锁)

    使用Redis的 SETNX 命令可以实现分布式锁,下文介绍其实现方法. SETNX命令简介 命令格式 SETNX key value 将 key 的值设为 value,当且仅当 key 不存在. 若 ...

  7. .net(C#)在vs2010版本下的MVC如何才能运行静态页面(html)

    正如,我上篇写的那样,那是在测试下,我所实现的方法,但是作为WEB项目,终究要发布的,故我把发布和切换在这说一下. 据我实测,我在按照我上篇改了Views下的Webconfig文件后,在解决方案下建了 ...

  8. git pull提示当前不在某个分支上

    $ git pull You are not currently on a branch, so I cannot use any 'branch.<branchname>.merge' ...

  9. linq 日期分组统计

     #region        string Condition(DateTime date, string type)        {            if (date == null)   ...

  10. [转]用CSS给SVG <use>的内容添加样式

    来源:http://www.w3cplus.com/svg/styling-svg-use-content-css.html?utm_source=tuicool&utm_medium=ref ...