IOS开发学习笔记016-Foundation框架】的更多相关文章

不管是是界面创建约束还是代码创建约束,苹果官方提供的方式都比较繁琐.所以出现了第三方框架. Masonry 在github地址如下: https://github.com/SnapKit/Masonry 如果需要通过代码手动添加约束,Masonry真的是一个不错的选择,大大增加开发效率,何乐而不为呢. Autolayout - Masonry 使用步骤 添加Masonry文件夹的所有源代码到项目中 添加2个宏.导入主头文件 // 只要添加了这个宏,就不用带mas_前缀 #define MAS_S…
1 常用的第三方工具 1.1 iPhone Simulator 测试程序需要模拟器iPhone Simulator 1.2 设计界面需要Interface Builder,Interface Builder(IB)中将视图拖拽到窗口上并将各种视图连接到插座变量和动作上, 这样它们就能以编程方式与代码交互.IB使用Nib文件储存GUI资源,同时适用于Cocoa和Carbon程序.在需要的时候,Nib文件可以被快速地载入内存. 2 iOS的常用开发框架 2.1 Foundation框架,该框架允许使…
概述 我们前面的章节中就一直新建Cocoa Class,那么Cocoa到底是什么,它和我们前面以及后面要讲的内容到底有什么关系呢?Objective-C开发中经常用到NSObject,那么这个对象到底是谁?它为什么又出现在Objective-C中间呢?今天我们将揭开这层面纱,重点分析在IOS开发中一个重要的框架Foundation,今天的主要内容有: Foundation概述 常用结构体 日期 字符串 数组 字典 装箱和拆箱 反射 拷贝 文件操作 归档 Foundation概述 为什么前面说的内…
 Foundation 框架的学习 一.Foundation 常用结构体 1.NSRange(location,length)  typedef struct _NSRange { NSUInteger location; // unsigned long NSUInteger length; // unsigned long } NSRange; 使用注意 NSRange r1 = {,}; // 结构体格式的初始化 NSRange r2 = {,}; // NSRange 的函数,用来初始化…
objective-c基础总结 第一二章 1.application:didiFinishLauchingWithOptions:程序启动后立即执行 2.启动界面代码格式:self.window = [UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];//1.从Infor.plist中取出版本号NString *version = [NSBundle mainBundle].infoDictionary[key];//2.…
iOS开发需要一台Mac电脑.Xcode以及iOS SDK.因为苹果设备都具有自己封闭的环境,所以iOS程序的开发必须在Mac设备上完成(当然,黑苹果应该也是可以的,但就需要花很多的精力去折腾基础环境),Xcode是一个集成开发环境,包括了编辑器.调试.模拟器等等一系列方便开发和部署的工具,iOS SDK则是开发应用所必需,不同的SDK分别对应不同的iOS版本或设备,通常我们需要下载多个iOS SDK以确保我们开发的程序能够在不同版本的iOS上正常运行.   创建新工程   Xcode提供了很多…
开始学习OC,时间不等人啊,要抓紧了. OC基本知识 新建一个以.m结尾的文件,这既是oc的程序文件.在oc程序中完全兼容C语言.编译好链接类似. oc包含头文件是使用#import <> import 和include 的区别: 1:import和include一样的包含功能 2:import可以自动防止文件被重复拷贝 #import <Foundation/NSObjCRuntime.h>//NSLog头文件 //import 1:和include一样 // 2:可以自动防止文…
1,Search Bar 怎样去掉背景的颜色(storyboard里只能设置background颜色,可是发现clear Color无法使用). 其实在代码里还是可以设置的,那就是删除背景view [[self.searchBar.subviews objectAtIndex:0] removeFromSuperview]; 2,NSDate: 字母  日期或时间元素    表示     示例 G     Era   标志符     Text     AD y     年     Year   …
在实际项目的开发中,为了充分利用各个框架的优点,通常都会把 Spring 与其他框架整合在一起使用. 整合就是将不同的框架放在一个项目中,共同使用它们的技术,发挥它们的优点,并形成互补.一般而言,在进行整合之前都要准备整合环境. 由于整合 SSH 框架时,需要连接数据库进行测试,因此需要准备数据库环境.在 MySQL 数据库中创建一个名称为 ssh 的数据库,并在数据库中创建一个名称为 person 的表,该表中包含 2 个字段,分别是 id 和 name,其中 id 是表的主键,name 表示…
EJB的学习成本很高,开发效率却不高,需要编写很多重复的代码,这些问题阻止了EJB的继续发展.就在EJB技术止步不前的时候,Spring框架在合适的时机出现了,Spring框架和EJB不同,Spring框架的学习成本非常低,它是一个轻量级的开发框架,更多强调面向对象的设计,而不是让现有的技术变得更复杂,它使用JavaBean替代了复杂的EJB,并且为JavaBean提供了简单易用的应用配置框架. 一个JavaBean就是一个公共类,它可以被其它JavaBean类作为组件来使用,并且JavaBea…
转自:http://www.cnblogs.com/macroxu-1982/archive/2012/07/31/2616389.html 下面是单个窗体项目例子,我们从这个项目开始,说明ios项目文件结构. 项目清单说明: 1 supporting files 文件夹 supporting files中放置了项目支持文件,下面是各种文件功能说明 helloword-info.plish 文件 :放置项目属性:如icon,项目显示名称,版本号等. infoplist.strings文件:放置项…
第一个IOS应用程序,就从最简单的开始吧. 1.先了解一下开发环境,Xcode的相关组成 2.还有模拟器 3.运行与停止按钮 4.新建一个工程 5.看看main函数里都有啥 6.现在来添加一个控件 1.先了解一下开发环境,Xcode的相关组成 2.还有模拟器 可以在菜单Xcode-->Open Developer Tool-->IOS Simulator 打开模拟器 3.运行与停止按钮 4.新建一个工程,可以运行一下看看效果,在模拟器里只是一个白色的窗口. 5.看看main函数里都有啥 #im…
内存管理 1.基本知识 2.关闭ARC机制 3.@property 4.循环引用 5.自动释放池 6.内存管理总结 一.基本知识 内存的分类 栈:局部变量 堆:动态申请的对象,变量等 全局(静态):static 变量,const变量,全局变量等 引用计数器  每个OC对象都有自己的引用计数器,是一个整数,表示“对象被引用的次数”,即有多少人正在使用这个OC对象 每个OC对象内部专门有4个字节的存储空间来存储引用计数器  作用 当使用alloc.new或者copy创建一个新对象时,新对象的引用计数…
1.点语法 2.成员变量的作用域 3. @property和@synthesize 4.id类型 5.构造方法 6.自定义构造方法 7.模板修改 8.Category - 分类 9.类扩展 一.点语法 点语法的本质还是方法调用 Person *p = [Person new]; p.age = ;//点语法 p.name = @"li si";//点语法 //[p setName:@"zhang san"]; //[p setAge:20]; NSLog(@&quo…
面向对象的三大特性 1.封装 2.继承 3.多态 一.封装 将类内部的属性保护起来,在外部不能直接访问,那么如果需要访问怎么办呢? OC提供了set方法来对成员变量进行访问 set方法 1.作用:提供一个方法给外界设置age属性的值 2.命名规范 方法名必须是set开头 set后面跟上成员变量的名称,成员变量首字母必须大写 返回值一定是void 一定要接收一个参数,并且和成员变量类型一致  形参名不能和成员变量名一样 声明 - (void)setAge:(int)newAge;//声明 实现 -…
一.UITableView的常用属性 1.分割线 // 分割线 self.tableView.separatorColor = [UIColorredColor]; // 隐藏分割线 self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; 2.选中样式 // cell选中样式,貌似几个枚举效果都一样 cell.selectionStyle = UITableViewCellSelectionStyleBlue; //…
微博界面如下 1.准备资源文件 新建一个plist文件,添加条目,root类型是array,子类型是Dictionary 2.更改父类,实现代理方法 接下来得实现过程如上一篇文章,改变父类为UITableViewController,在main.storyboard中更换主界面为UITableViewControl // 行数 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)sect…
使用xib文件实现界面,然后通过模型更新数据. 1.使得控制器继承自UITableViewController 2.创建xib文件,实现界面如下:一个UIImageView,两个lable 3.新建一个封装类NewCell,封装对xib界面的操作 4.新建一个模型类Shops对数据进行更新,读取字典数据到类中 5.在控制器中对模型数据进行操作,将结果显示到view中 1.使得控制器继承自UITableViewController 更改main.storyboard的主界面是UITableView…
1.模型对象 2.单组数据的显示 1.模型对象 继续优化上一个程序 上一次用到字典,但是坏处多多.这里将这些数据封装到类中. 这就是MVC中得模型,模型就是数据的显示结构 新建一个类,添加几个属性和一个类方法用于快速返回对象 #import <Foundation/Foundation.h> @interface Province : NSObject // UI控件用weak // nsstring 用copy @property (nonatomic,copy) NSString *hea…
UITableView的简单使用过程 简单介绍 两种样式 UITableViewStylePlain UITableViewStyleGrouped 数据显示需要设置数据源,数据源是符合遵守协议 <UITableViewDataSource>的类 数据源 dataSource 一些UITableViewDataSource协议里写好的类,这些类有系统自动调用,调用顺序是先设置组再设置行最后设置行内容 设置组section,直接将组返回 - (NSInteger)numberOfSections…
一.UIButton和UIImageView的区别 1. UIImageView 默认只能显示一张图片(默认会填充整个ImageView) 设置方法:image/setImage: UIButton 默认能显示两种图片,前景和背景(背景会填充整个按钮,前景按尺寸显示) 还可以显示文字 setTitle: forState: 设置方法:setBackgroundImage: forState:/setImage: forState: 2. UIImageView 默认不能响应点击事件 UIButt…
只是简单练习一下,主要是学习里面的思想,处理问题的方法. 不过还有一个问题没想到解决方法. 那就是动态生成的按钮如何绑定按钮事件,请哪位大神指点一下啊.(知道怎么办了,原来是方法addTarget) segmentControll 控件和imageView 控件 总体效果如下,点击3列,表情按照3列显示,点击4列表情按照4列显示.    界面也很简单,只有一个segmentedControll控件,表情是通过代码生成的,自动排序. 一.先将界面做好,将表情资源添加到工程里,具体方法可以看上一篇.…
一.block block 代码段    标识是 ^    block 和函数很像 1.可以保存代码 2.有返回值 3.有形参 格式 返回值 (block名)(形参列表) = ^(形参列表) {代码段};  使用方法:block名(形参); block 总结:     1.定义    // 没有返回值 ,没有形参可以省略后面的小括号 void (^myblock)() = ^ { NSLog(@"****************"); }; myblock(); // 使用 // 带参…
ARC 1.ARC机制 2.ARC 判断准则 3.注意事项 4.ARC和非ARC混合使用 ARC机制 ARC 是编译器特性,而不是 iOS 运行时特性,它也不是类似于其它语言中的垃圾收集器.因此 ARC 和手动内存管理性能是一样的,有时还能更加快速,因为编译器还可以执行某些优化 ARC 判断准则: 只要没有强指针,就会释放对象. 指针分2种: 强指针:默认都是强指针  (__strong) __strong Person *p; //  __strong 可以不写,默认就是__strong 弱指…
xcode使用技巧 1.自动生成类 2.断点调试 3.代码段保存 4.注释标记 1.新建类,自动生成两个文件和基本结构 第一步  第二步,选择新建一个类,而不是一个源文件  第三步,书写类名一级自己要继承的父类  第四步.选择文件的保存路径  最后,自动生成两个文件,一个头文件,一个源文件,文件的基本结构已经写好了. 2.断点调试 断点调试可以观察程序运行过程中各种变量的变化过程,用于检查错误. 取消断点或者删除断点 3.代码段保存  这里要设置代码段的名称和要使用的快捷方式,用于在文件中输入快…
先来学习一下C语言基础知识,总结如下: 在xcode下编写代码. 1.编写代码 2.编译:cc –c 文件名.c 编译成功会生成一个 .o的目标文件 3.链接:把目标文件.o和系统自带的库合并在一起,生成一个可执行文件. 指令:cc 文件名.o 链接成功会生成一个.out可执行文件,选择用终端打开运行. 4.运行:./a.out //也可以双击a.out运行  ./表示当前路径 也可以同时编译并链接 指令:cc a.c 可以直接在终端里生成文件,生成一个源文件到当前目录 指令:touch   a…
1. [代码][C/C++]代码     //这里创建一个圆角矩形的按钮    UIButton *button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];    //    能够定义的button类型有以下6种,//    typedef enum {//        UIButtonTypeCustom = 0,          自定义风格//        UIButtonTypeRoundedRect,        …
本文转载至 http://www.cnblogs.com/songliquan/p/4548206.html 1.代码实现比较复杂 代码实现Autolayout的步骤 利用NSLayoutConstraint类创建具体的约束对象 添加约束对象到相应的view上 1 - (void)addConstraint:(NSLayoutConstraint *)constraint; 2 3 - (void)addConstraints:(NSArray *)constraints; 代码实现Autola…
QQ聊天界面实现 效果如下: 实现过程: 1.首先实现基本界面 头像使用 UIImageView : 文字消息使用 UIButton 标签使用 UILable :水平居中 所有元素在一个cell中,在加载cell时进行判断显示和隐藏. 合理设置各个控件之间的约束关系.主要是UIIimageVIew和UIButton顶部对齐,间距为10.UIButton的宽度设置一个约束范围,比如说 (>=60 &&  <=300); 底部添加一个UIView ,添加输入框等. 2.创建模型文件…
一.自定义非等高的cell         如常见的微博界面,有的微博只有文字,有的有文字和图片.这些微博的高度不固定需要重新计算. 这里简单说一下几种方法.前面的步骤和设置等高的cell一样.现在来说说不一样的地方.         效果如下:   1.在storyboard\xib里实现如下界面 使用自动布局添加约束,在xib里创建和在storyboard非常类似. 2.计算cell高度     2.1.在模型类中给每个cell添加一个高度属性      // cell高度     @pro…