- 浏览: 11482 次
最新评论
文章列表
MVC是一种在iOS开发中常见的设计模式,今天主要分析下MVC的原理和它的交流方式。
之前看到一篇关于MVC的文章总结的非常不错,今天直接转载过来
一、MVC的概念
MVC是Model-View-Controller,就是模型-视图-控制器,这些都是什么东西呢?
MVC把软件系统分为三个部分:Model,View,Controller。在cocoa中,你的程序中的每一个object(对象)都将明显地仅属于这三部分中的一个,而完全不属于另外两个。
关于Model
Model = 你的程序是什么(而不是你的程序是如何显示的) 让我们举个例子,我们上中学的时候,我们的步 ...
单例模式的作用可以保证在程序运行过程,一个类只有一个实例,而且该实例易于供外界访问从而方便地控制了实例个数,并节约系统资源
单例模式的使用场合在整个应用程序中,共享一份资源(这份资源只需要创建初始化1次),一般用于工具类。例如:登陆控制器,网络数据请求,音乐播放器等一个工程需要使用多次的控制器或方法。
单例模式的优缺点优点:单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。单例模式因为类控制了实例化过程,所以类可以更加灵活修改实例化过程。缺点:单例 ...
webStorm : UserName:William ===== LICENSE BEGIN ===== 45550-12042010 00001SzFN0n1bPII7FnAxnt0DDOPJA INauvJkeVJBuE5bqLEznccE4tet6tr RiyoMxDK8oDY93tx!ipPyGmqYYeWxS ===== LICENSE END ===== UserName:Microsoft ===== LICENSE BEGIN ===== 44827-12042010 00001xZTATXBeJGHI0CFFRIdOKjhQ7 eiwIjgK7qohmwGSZRUK!lINY ...
iOS自带的文字转语音是iOS7以后才有的,需要AVFoundation 库。
AVSpeechSynthesizer: 语音合成器, 可以假想成一个可以说话的人, 是最主要的接口
AVSpeechSynthesisVoice: 可以假想成人的声音
AVSpeechUtterance: 可以假想成要说的一段话
语言 ...
CocoaPods安装和使用教程
Code4App 原创文章。转载请注明出处:http://code4app.com/article/cocoapods-install-usage
目录
CocoaPods是什么?
如何下载和安装CocoaPods?
如何使用CocoaPods?
场景1:利用CocoaPods,在项目中导入AFNetworking类库
场景2:如何正确编译运行一个包含CocoPods类库的项目
CocoaPods是什么?
当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等。可能某个类库又用到 ...
uialertview 警告提示框的实现
UIAlertView *view = [[UIAlertView alloc]initWithTitle:@"Test" //标题
2 message:@"this is a alert view " //显示内容
3 delegate:nil //委托,可以点击事件进行处理
4 ...
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier;
Cell的初始化方法,可以设置一个风格和标识符,风格的枚举如下:
UITableViewCellStyle) {
UITableViewCellStyleDefault, // 默认风格,自带标题和一个图片视图,图片在左
UITableViewCellStyleValue1, // 只有标题和副标题 副标题在右边
UITableVi ...
UICollectionView 和 UICollectionViewController 类是iOS6 新引进的API,用于展示集合视图,布局更加灵活,可实现多列布局,用法类似于UITableView 和 UITableViewController 类。
使用UICollectionView 必须实现UICollectionViewDataSource,UICollectionViewDelegate,UICollectionViewDelegateFlowLayout这三个协议。
#pragma mark -- UICollectionViewDataSource
//定义展 ...
ios的软件需要分享时,有一个比较好用的插件事sdk 官网上也有具体的操作流程
http://dashboard.mob.com/#/main/quickstarts/share/ios
http://wiki.mob.com/ios9-%E5%AF%B9sharesdk%E7%9A%84%E5%BD%B1%E5%93%8D%EF%BC%88%E9%80%82%E9%85%8Dios-9%E5%BF%85%E8%AF%BB%EF%BC%89/
分享功能无法在模拟器上运行,真机调试的过程
http://jingyan.baidu.com/article/ff411625 ...
ios Json获取数据 的同步get请求和异步get请求方法
json的解析方法有4种 此处使用的是使用IOS自带解析类NSJSONSerialization方法解析:(无需导入包,低于IOS5版本IOS不支持)
//加载一个NSURL对象
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://smartbox.gtimg.cn/s3/?q=600&t=all"]];
//将请求的url数据放到NSData对象中
...
ios 搜索栏 旧版本是用UISearchBar和UISearchDisplayController 在新版本中可以直接用UISearchController
searchController = [[UISearchController alloc]initWithSearchResultsController:nil];
searchController.searchResultsUpdater = self;//设置显示搜索结果的控制器
searchController.dimsBackgroundDuringPresentation = NO;/ ...
ios应用里需要用到下拉刷新来更新应用的数据,ios自带的下拉刷新UIRefreshControl目前只能用于UITableViewController
-(void)beginRefreshing //创建下拉刷新
{
refresh = [[UIRefreshControl alloc]init];
refresh.tintColor = [UIColor lightGrayColor];
refresh.attributedTitle = [[NSAttributedString alloc]initWithString:@"下拉刷新& ...
只是单纯的画线的话建立一个uiview
drawRect不是让你调用的,而是系统会去调用的.
环境(Context)决定了你在哪绘图,所以你创建环境的方法决定了要在哪绘图.
- (void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
/*NO.1画一条线
CGContextSetRGBStrokeColor(context, 0.5, 0.5, 0.5, 0.5); ...
在编写代码的过程中,把各项功能分开写出来,互不影响,这样可以方便的调用,在出现错误是,也可以很容易的找出错误,对编写代码有很好的帮助。
以数字游戏为例,用户输入4个不同的数字 ,与系统产生的随机4个数对比 如果同位置一样则显示几A位置不同但是有此数字则显示几B 都不同则0A0B 都猜对则游戏成功,6次失败则游戏失败
首先产生随机数
//
// Radom.h
// ShuZiYouXi
//
.
//
#import <UIKit/UIKit.h>
@interface Radom : NSObject
+(NSArray *)randomArra ...
批量创建UITextField 写成方法然后调用
-(UITextField *)creat_textField : (CGRect)frame
{
UITextField *text_field = [[UITextField alloc]initWithFrame:frame]; //text_field的位置和大小
text_field.backgroundColor = [UIColor whiteColor]; //text_field背景颜色
text ...