摘要:1. 使用本地化多语言 有时候,在网上下载的Demo,有本地化的处理,默认的本地化都是英文,这时候,可以考虑这么处理: info.plist->Infomation Property List -> Localization native development->China2. 配置多语言...
阅读全文
摘要:1. 初始化EaseConversationListViewController *chatListVC = [[EaseConversationListViewController alloc] init];2. 初始化
阅读全文
摘要:参考:http://www.umeng.com/im友盟(UMeng),提供社交平台分享(QQ、微信等)、数据分析、聊天、消息推送等功能。
阅读全文
摘要:在Podfile文件里加入pod 'EaseUI', :git => 'https://github.com/easemob/easeui-ios-cocoapods.git'然后在终端中的project目录下,pod update导入头文件 #import1. 环信 之 iOS 客户端集成四:集成...
阅读全文
摘要:SDK中,大部分与网络有关的操作,都有三种方法:同步方法通过delegate回调的异步方法。要想能收到回调,必须要注册为:[[EaseMob sharedInstance].chatManager addDelegate:self delegateQueue:nil];block异步方法1. 初...
阅读全文
摘要:1. 添加依赖库Build Phases → Link Binary With LibrariesMobileCoreServices.frameworkCFNetwork.frameworklibEaseMobClientSDKLite.alibsqlite3.dyliblibstdc++.6.0...
阅读全文
摘要:1. 导入 我采用cocoapod的方式,在project同级目录下创建Podfile,Podfile内容如下:platform :ios, '7.0'pod 'EaseMobSDKFull', :git => 'https://github.com/easemob/sdk-ios-cocoapo...
阅读全文
摘要:通过上图可以看出,两用户之间通信,是通过服务器中转的,当接收方不在线时,消息存在服务器,等接收方上线时再推送过去。同时,消息会存放到发送方和接收方本地以及服务器作为历史消息。服务器的历史消息只存放14天。但是,客户端没有接口获取服务器端的历史记录。
阅读全文
摘要:环信的用户体系集成是这样的:我们的服务器的用户要和环信应用上的用户一一对应。但是呢,环信上的用户只是做一个关联,并不包含任何其它的用户信息。当该应用上的两个用户需要聊天时,通过我们的服务器的用户信息,获取环信的用户ID,这样,通过ID,调用环信的SDK,就可以实现两个用户之间的通信等操作。 环...
阅读全文
摘要:1. 注册及手机号 注册用户及登陆管理员后台,必须要填入手机,注册的手机都是可以更改的。2. 创建应用 登陆之后,首页左上角就是“我的应用”模块。点击后,上方有个“创建应用”按钮。输入名称等信息就创建了一个应用。 这样,就生成了一个应用。这里的应用代表的是一个聊天系统,意思是,在该系统下的用户...
阅读全文
摘要:整个文档网站的结构,除了正文,还有三部分,通过这三部分,可以更好地查找自己所需要的资料:1. 左侧的导航栏 这是整个文档的目录结构,可以从这里跳转到自己需要的模块。2. 右上角的本章导航 浏览本章目录,并进行跳转。3. 搜索栏 可以通过搜索快速定位自己想要了解的资料。
阅读全文
摘要:文档参考:http://docs.easemob.com/docs.php开发社区:http://www.imgeek.org也可以在官网页面上点击客服进行咨询1. 环信 之 文件导航2. 环信 之 注册及创建应用3. 环信 之 用户体系集成4. 环信 之 通信过程及聊天记录保存5. 环信 之 iO...
阅读全文
摘要:1. 概述 IM ,InstantMessaging,即时通信。 现在,市面上有一批提供即时通信功能的公司。如:全时、云之讯(IM无语音和视频)、容联云通讯(支持点对点音视频,按照消息的存储空间收费)、融云(不支持视频)、环信(支持视频,点对点)等等,从网上一搜,能搜出一大堆来。也许你觉得,...
阅读全文
摘要:iOS 之 UIViewController iOS 之 Navagation Button iOS 之 UIButton iOS 之 UITextField iOS 之 UIStackView iOS 之 WebView 简单使用 iOS 之 UITextView iOS 之 UIScrollVi
阅读全文
摘要:参考:http://www.cocoachina.com/design/20151225/14789.html0. 内容概述基础与本质:说明普遍意义上的UI系统的三大模块,让读者从整体上对UI系统有清楚的认识。View:深入View的内部机制,View与Layer之间的关系,以及Offscree...
阅读全文
摘要:iOS 解决一个复杂bug 之 计分卡 iOS 调试 之 打印 iOS 错误之 NSObject 、CGFloat iOS bug 之 H5 页面没有弹出提示框 iOS 日志工具 CocoaLumberjack iOS 加载动态库报错问题 ios bug包含 code signing blocked
阅读全文
摘要:参考:http://m.blog.csdn.net/blog/HookyStudent/42964317 参考:http://m.blog.csdn.net/blog/laencho/251906391. 打印信息1.1. 信息宏NSLog(@"%s:%d obj=%@", __func__,...
阅读全文
摘要:由于该模块界面和业务逻辑都很复杂,并且整个界面设计和业务逻辑都在ViewController(下面简称为VC)里面完成。该VC共有3000多行,一个函数几百张的也有。所以,解决起来真是头疼。1. 问题描述 当用户操作计分卡时,分数可能不对,前场和后场的序号也可能不对。也是就说,数据读写造成了错...
阅读全文
摘要:参考:http://blog.csdn.net/th_gsb/article/details/44856795 由于iOS的界面开发大多都是用代码实现的,编写的时候,那就是看不见摸不着的情况。所以,如何查看整个界面的层次结构,就变成了一个非常棘手的问题。对于一个他人的程序,如果不能认清它的界面...
阅读全文
摘要:iOS 开发之登陆 iOS 程序初始一个带导航栏的视图 iOS 添加导航栏两侧按钮 iOS UITabBar iOS 加载完成之后,重新计算table的高度
阅读全文
摘要:1. iOS 之 界面调试2. iOS 之 调试、解决BUG3. iOS 程序测试、程序优化、提交前检测
阅读全文
摘要:UIStackView是iOS9新推出的布局控件,它的出现,可以说颠覆了以往的布局方式。问题时,如果我使用UIStackView,它能用在iOS7、8系统中吗?我要测试一下。测试程序我放到github上面,点击这里进入github地址。1. 使用UIStackView 代码实现:/** * 创建...
阅读全文
摘要:dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ //耗时的操作 NSURL *url = [NSURL URLWithString:@""]; NSData *data...
阅读全文
摘要:经常听见iOS开发instrument是一个内存检查工具,但是,没想到,它是集成在xcode里面的,而且打开一看,感觉功能非常强大。打开方式是 product -> profile头一次运行可能还打不开,我是第二次运行时能启动instrument页面的。1. 使用记录1.1. 第一次使用使用时间:2...
阅读全文
摘要:New File -> Source -> Object C File
阅读全文
摘要:iOS 设计专题,动画iOS开发之让你的应用“动”起来
阅读全文
摘要:1. 修改Build Settings修改 Code Signing:codesign failded 意思是签名错误,看看是否xcode -perferences是否没有登录,还有就是钥匙串密码是不是不对1.1. Provisioning Profile证书1.2. Code Signing Id...
阅读全文
摘要:对于信息量不是太大的数据,可以使用文件缓存来处理。文件缓存可以缓存字典和数组。步骤一:创建路径 路径要一级一级往下创建,基本不用考虑创建失败的情况。但是如果创建失败了要怎么做呢?按道理应该提示出来。结束往下的操作,因为没有办法继续创建下面的目录。 创建路径要放到~Document下面,在真机...
阅读全文
摘要:参考网址:http://my.oschina.net/wenbobao/blog/375748百度经验:http://jingyan.baidu.com/article/4dc408489ebbb2c8d946f12c.html百度经验:http://jingyan.baidu.com/articl...
阅读全文
摘要:1.UIResponderUIViewController *uvc; UIResponder* nextResponder = [self.superview.superview.superview nextResponder]; if ([nextResponder isKi...
阅读全文
摘要:1. 代理 UIWebViewDelegate 2. 创建UIWebView myWebView=[[UIWebView alloc] initWithFrame:CGRectMake(0, 0,self.view.frame.size.width,self.view.frame.size.heig...
阅读全文
摘要://方法一:关闭整个系统的键盘[[[UIApplication sharedApplication] keyWindow] endEditing:YES];//方法二:关闭当前页的键盘[[selffindFirstResponderBeneathView:self]resignFirstRespon...
阅读全文
摘要:NSString *string = @" spaces in front and at the end ";NSString *trimmedString = [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAnd...
阅读全文
摘要:步骤一,注册消息:[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(getUserProfileSuccess:)name:@"Notification_GetUserProfileSuccess" o...
阅读全文
摘要:[NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(showMyDrivingRangeTimer) userInfo:nil repeats:NO];
阅读全文
摘要:说明:不应该是类HomeListCell:应该是表达式。出现场景:赋值时,等号右面是个类名,而不是变量名。
阅读全文
摘要:_qrImgView.bounds = CGRectMake(0, 0, sizeImg, sizeImg);_qrImgView.center = CGPointMake(CGRectGetWidth(view.frame)/2, CGRectGetHeight(view.frame)/2);
阅读全文
摘要:概要设计的目的:列举功能点、技术方案、难点及与原来功能的结合串联。
阅读全文
摘要:_lableAssess = [[UITextView alloc] init]; [_lableAssess setFrame:CGRectMake(left2, top2, width2, size.height)]; [_lableAssess setFont:[UIPara...
阅读全文
摘要:[btn addTarget:self action:@selector(searchButtonClick) forControlEvents:UIControlEventTouchUpInside];[btn setImage:[UIImage imageNamed:@"Icon"] forSt...
阅读全文
摘要:以按钮为例:UIButton btn = [UIButton new];btn.layer.masksToBounds = YES;btn.layer.cornerRadius = 10.0;btn.layer.width = 2.0;btn.layer.borderColor = [UIColor...
阅读全文
摘要:UILabel *lastLable = [[UILabel alloc] init]; UIFont *font = [UIFont fontWithName:lastLable.font.fontName size:[UIFont labelFontSize]-3]; las...
阅读全文
摘要:self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"首页" style:UIBarButtonItemStyleBordered target:self action:@selector(p...
阅读全文
摘要:iOS 创建和设置pch iOS 之 时间格式与字符串转换 iOS 之 二维码生成与扫描(LBXScan) iOS 之 定时器 iOS 之 通知 iOS 之 NSString 去除前后空格和回车键 iOS 之 关闭键盘 iOS 倒出ipa文件 iOS 之 动画 iOS 之 绘图 iOS 之 文件缓存
阅读全文
摘要:参考:https://github.com/MxABC/LBXScan步骤如下;1. 下载通过参考网址进行下载。2. 导入导入整个LBXScan文件夹3. 配置在pch中加入#import #import 4. 使用参考demo里面的页面进行使用4.1. 扫描二维码4.2. 生成二维码
阅读全文
摘要:练习场功能需求总结:练习场分布在sa个模块:首页‘“voo” 和 “我的” 页。1. 首页 + “练习场”1.1. 练习场列表 参数:手机号、经纬度 返回:最近的10个练习场,及用户使用过的练习场列表。 错误处理:练习场信息获取不成功时,給出对应的提示信息“请检查GPS模块是否开启或者网络是否...
阅读全文
摘要:1. 基础概念1.1. 字体(Font) 同一大小、同一样式的字形的集合。1.2. 字符(Character) 字符表示信息本身,一般指某种编码,如Unicode编码。1.3. 字形(Glyphs) 字符+字体就会有个对应的图片,这个图片就是字形。1.3. 字形描述集(Glyphs Metri...
阅读全文
摘要:小提琴属于高音乐器,所以它使用的是高音谱号: 用音的时候,线不够用,那就得上加线,或下加线。 小提琴的弦对应的五线谱的位置为:第四弦,对应五线谱的下加两条线的下面第三弦,对应五线谱的第一线的下面第二弦,对应五线谱的第三线的下面,即第二间第一弦,对应五线谱的第五线的下面,即第四间
阅读全文
摘要:共四根弦,从粗到细:第四弦:音名:G;唱名:Sol第三弦:音名:D;唱名:Re第二弦:音名:A;唱名:La第一弦:音名:E;唱名:Mi
阅读全文
摘要:参考:http://www.iqiyi.com/w_19rt9yvv9p.html主要结构有:琴身、指板、腮托、琴马、琴弦、琴轴
阅读全文
摘要:1. 概述 Quartz2D 是一个二维绘图引擎。 主要功能;绘制图形:线、矩形、圆、弧绘制文字绘制图片绘制PDF裁截图片自定义UI控件2. 图形上下文 Graphics Context,是绘制图形的环境,就类似现实中的一个画板及画笔、皮擦等整套工具。 Quartz2D里面的Graphics...
阅读全文
摘要:1. iOS 之 绘图简介2. iOS 之 Quartz2D
阅读全文
摘要:1. Quartz2D 之 简单介绍2. Quartz2D 之 简单使用3. Quartz2D 之 绘制文本
阅读全文
摘要:参考:iOS开发多线程篇—GCD介绍 参考:iOS开发之多线程技术——GCD篇
阅读全文
摘要:http连接:短连接,发送一次请求,服务器响应后连接就断开。socket连接:长连接,连接后长期保持连接状态。
阅读全文
摘要:最大区别:CALayer (图层)不会直接渲染到屏幕上。UIView是iOS系统中界面元素的基础,所有的界面元素都继承自它。它本身完全是由CoreAnimation来实现的。真正的绘图部分,是由一个CALayer类来管理的。一个UIView上可以有n个CAlayer,每个CALayer显示一种东西,...
阅读全文
摘要:响应者链表示一系列的响应者对象。事件被交由第一个响应者对象处理,如果第一个响应者不处理,事件就沿着响应者链向上传递,交由下一个响应者(Next responder)。View->ViewController->window->application->丢弃事件如果有一个地方响应了,则不再往下传递。可...
阅读全文
摘要:循环引用导致内存泄露,如block容易内存泄露
阅读全文
摘要:1. 在ARC中 strong(强引用) 相当于retain, weak(弱引用) 相当于assign。ARC下,strong告诉编译器自动插入retain。但是在ARC下,代理协议的属性依然用assign,防止循环引用。2. _unsafe_unretained与weak功能一致,区别在于当指向的...
阅读全文
摘要:1. assign1.1. 普通赋值 一般用于基本类型1.2. 常见委托设计模式 防止循环引用2.retain 保留计数,获取了对象的所有权。引用计数在原有基础上加1。3.copy 同retain,但是一般用于字符串。Foundation中不可变的对象使用copy效果相当于retain,只是...
阅读全文
摘要:深复制不仅复制对象本身,对象持有的属性对象也做了复制。浅复制之复制对象本身,不对里面的属性进行复制。
阅读全文
摘要:KVC:键值编码,是一种间接访问对象实例变量的机制,可以不通过存取方法(getter setter)就可以访问实例变量。KVO: 属性变化的通知机制
阅读全文
摘要:进程是系统调度单位,拥有自己的资源线程是CPU调度的基本单位进程的同步机制:原子操作、信号量机制、自旋锁、分布式系统
阅读全文
摘要:支持所有C和OC的基本类型提供了Array 和Dictionary两个强劲的集合类型元组可选类型闭包脚本特性类型安全
阅读全文
摘要:向一个对象发送autorelease消息时,cocoa会将该对象的一个引用放入最新的自动释放池。作用域结束时,自动释放池会被释放,池中所有的对象也就被释放了。
阅读全文
摘要:凡是alloc copy mutablecopy init 声明的变量,都需要通过手动的方式进行释放,realse。如果 copy一个对象,则拥有了拷贝的对象,要负责释放。如果 保持(retain)一个对象,则部分拥有了该对象,需要不再使用时释放。block要防止循环引用。
阅读全文
摘要:#import 相比#include不会引起交叉编译。@class一般用于头文件中需要声明该类的变量时用到
阅读全文
摘要:函数体内的static变量的作用范围是该函数体,在内存中只分配一次,下次调用时仍维持上次的值。模块内的static全局变量可以被模块内的所有函数访问,但是不能被模块外的其它函数访问。模块内的static函数只可以被这一模块内的其它函数调用。类中的static成员变量属于整个类所有,对类的所以对象只有...
阅读全文
摘要:const int a与 int const a一样。const int *a ;//指针可以修改,指向常整形的指针int* const a;// 常指针, int* 作为一个整体被限制, 所以指针不可以修改常形参不能被函数修改,常成员函数不能修改类的成员变量。
阅读全文
摘要:int a[5]={1,2,3,4,5}; int *p=(int*)(&a+1);//p 相当于int (*p) [5] = &a;// &a+1 p相当于,p移动了a本身大小的位置,即 a + 5*sizeof(int) printf("%d",*(p-1)); // p -1 = p-size...
阅读全文
摘要:1. 获取Graphics ContextCGContextRef ctx = UIGraphicsGetCurrentContext(); 2. 最后的渲染接口CGContextStrokePath(ctx);//渲染空心图形,但线条没有空心直说,只有宽度CGContextFillPath(c...
阅读全文
摘要:iOS的系统架构分为四个层次:核心操作系统层(Core OS layer)、核心服务层(Core Services layer)、媒体层(Media layer)和可触摸层(Cocoa Touch layer)。Core OS层-----包含核心部分、文件系统、网络基础、安全特性、能量管理和一些...
阅读全文
摘要:1. 沙盒间共享数据2. Metal 3D绘图,据说10倍速,替代了OpenGL3. AppStore 可视频预览
阅读全文
摘要:iOS 实现图形编程主要有三种技术:UIKit、Core Graphics、OpenGL。 绘图需要在图形环境中进行,图形环境分为三种:屏幕图形环境、off screen 位图环境和PDF图形环境。在屏幕环境中绘图是在一个UIView或其子类中进行,并显示到屏幕上。其它两种不能直接显示到屏幕...
阅读全文
摘要:1. Get 与 Post 比较GET请求:简单业务、明文发送POST请求:上传文件,重要信息、加密信息,、大数据信息。2. 序列化 默认是JSon格式。// 请求的序列化manager.requestSerializer = [AFHTTPRequestSerializer serializer...
阅读全文
摘要:NSString *urlStr = @"http://api.openweathermap.org/data/2.5/forecast/daily"; AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationMa...
阅读全文
摘要:查询列表,返回前20个数据://创建BmobQuery实例,指定对应要操作的数据表名称 BmobQuery *query = [BmobQuery queryWithClassName:className]; //按updatedAt进行降序排列 [query orderByD...
阅读全文
摘要:1. pod pod 'BmobSDK' 与pod "BmobSDK" 好像没什么区别2. 导入 在AppDelegate中:#import [Bmob registerWithAppKey:@"申请的Application ID"];3. 数据处理3.1. 添加//往GameScore表添加一...
阅读全文
摘要:1. Bmob 之 简单使用2. Bmob 之 列表查询
阅读全文
摘要:1. 概念 用于存储串行化对象,xml格式,存储到plist文件中。2. 用途 存储用户设置。3. 优点程序运行时可动态创建和读写。4. 使用说明4.1. 获取plist文件NSString *documentPath = [NSSearchPathForDirectoriesInDomains...
阅读全文
摘要:1. 概念 NSUserDefaults是一种特殊的property list。是系统封装的属性列表,方便记录简单的数据。2. 使用说明2.1. 创建NSUserDefaults NSUserDefaults *defaults = [NSUserDefaults standardUserD...
阅读全文
摘要:1. iOS 之 NSUserDefault2. iOS 之 Property List
阅读全文
摘要:参考:http://www.jikexueyuan.com/course/2054_2.html?ss=21. 简单工厂 简单工厂类是一个实体类。用于几种相似类的统一创建,简化流程,隔离细节。 下面是步骤:1.1. 定义协议 工厂里可能生产几种产品,产品大同小异,所以需要定义协议。1.2. 枚...
阅读全文
摘要:1. 单一职责原则2. 里氏替换原则 在使用基类的的地方可以任意使用其子类,能保证子类完美替换基类3. 接口隔离原则 接口隔离原则的核心精神是:尽量使用多个专门的单一的小接口,避免庞大的总接口;专业点的说法是类间的依赖关系尽量建立在最小的接口上。4. 迪米特法则 迪米特法则也叫做做最少知识原则,其...
阅读全文
摘要:Application Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via y
阅读全文
摘要:1. iOS 错误 之 http请求2. iOS 错误 之 Unexpected interface name 'HomeListCell': expected expression3. iOS 错误 之 Potential leak of an object stored into 'cs'
阅读全文
摘要:1. 网络请求的基本知识2. Get/Post 请求的使用3. 文件(图片)上传4. 断点下载5. 其它使用细节6. 设计优良的地方
阅读全文
摘要:1.找到配置文件找到tomcat\conf\server.xml2.找到Host3. 添加 Context 注意,docBase 不能是大写字母开头,例如 img不能是Img 。Fxxx !!
阅读全文
摘要:在某个变量前面加__block ,这个变量就变成了block variable。那么就可以在block里面修改该值。
阅读全文
摘要:协议分为三部分:声明、引用、实现。 通常,声明协议和声明协议类型的属性都是在同一个类中。声明协议和声明协议作为属性在头文件中,引用在声明类的实现文件中。而实现协议则在其它类中。
阅读全文
摘要:CGFloat width = [[UIScreen mainScreen] bounds].size.width;
阅读全文
摘要:1.打开github中要下载的项目2.点击commits 点击上图中标记的地方,进入下图所示:3. 选择列表中的某个版本4. Browse Files5. 下载 点击上图中的 Download ZIP 下载
阅读全文
摘要:1. iOS 之 UICollectionView 之 原理介绍2. iOS 之 UICollectionView 之 开发步骤 之 OC3. iOS 之 UICollectionView 之 开发步骤 之 Swift
阅读全文
摘要:说起来容易做起来难。 那么我就不说了,来做吧。这就是我的style。 鉴于现在的主流还是OC,那么示例程序还用OC来写,后续补写Swift程序,这里先占个坑。 废话不多说,下面开发步骤来了:1. 创建程序 万事开头难,先创建一个程序吧,我写完这句话就去创建。取名就叫testCollect...
阅读全文
摘要:0. 简介 参考:支持重排的iOS9 UICollectionView 参考:http://www.cnblogs.com/langtianya/p/3902801.html 参考:http://www.cnblogs.com/ios8/p/iOS-UICollectionView.html ...
阅读全文
摘要:1. 单例模式原理1.1. 概念 系统中的一个类,只有一个实例,易于外界访问。 示例:[[UIApplication sharedApplication] statusBarStyle];[NSNotificationCenter defaultCenter];[NSUserDefaults s...
阅读全文
摘要:参考自:http://blog.csdn.net/getchance/article/details/42213219参考自:http://zhidao.baidu.com/link?url=XmnMR3xF_eXzyc54ERF0orFFWFqOpGohE2zHI0M4LFYJEXOrs_KDAn...
阅读全文
摘要:0. 多线程简介 参考:http://blog.csdn.net/shenjie12345678/article/details/44152605 现在的CPU都是多核心的,即是是单核也可能模拟出多核心效果。当有多个任务执行时,多线程就变得很重要。多线程分为两种,一种是并发,一种是并行。所谓并发...
阅读全文