- 博客(22)
- 收藏
- 关注
原创 iOS之微信支付交互图分析
微信支付交互图(一) 微信支付交互图(二) 配上自己的理解说明:(不断更新中…)微信支付的流程图:1、完成支付主要有三方构成: 用户,商户的App客户端,商户的后台系统,微信客户端,微信的支付系统;2、用户登录商户的App,在商户的App上选择商品下单,然后通过商户App向商户的后台系统发出支付请求;3、商户的后台系统接收到用户的支付请求后去调用微信的统一下单API,这时候微信的支付系统收到
2015-12-08 12:38:50
1426
原创 iOS之CocoaPods的安装和使用参考
CocoaPods是什么?当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等。可能某个类库又用到其他类库,所以要使用它,必须得另外下载其他类库,而其他类库又用到其他类库,“子子孙孙无穷尽也”,这也许是比较特殊的情况。总之小编的意思就是,手动一个个去下载所需类库十分麻烦。另外一种常见情况是,你项目中用到的类库有更新,你必须得重新下载新版本,重新加入到
2015-12-07 16:45:43
360
原创 iOS之Xcode设置点滴记录(二)
1、有时候模拟器会报一些未知的错误,比如: 这时候我们可以去看一下工程的Bundle Identifier是否设置,我今天就遇到了极光推送官方Demo没有设置Bundle Identifier的情况,设置后就可以运行了。。。
2015-12-07 10:22:48
347
原创 iOS之App远程推送APNs(二)
当我们的App在发布之前我们会向苹果服务器申请为应用添加远程服务推送,下面为大家粘贴代码作为参考- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //注册远程推送到苹果的服务器,如果注册成功,App推送服务器会给我们返回一个
2015-12-06 00:24:19
509
原创 iOS之App证书申请、真机测试和应用上架(一)
证书的申请和配置以及应用上架的相关具体流程大家可以参考好友的博客,非常详细。都有截图,我在这里就不再赘述。 关于证书的申请,真机测试可参考: http://www.devhy.com/ios-certificate-one.html 关于iTunes Connection 应用提交可参考: http://www.devhy.com/ios-itunes-connection-app-subm
2015-12-05 19:44:07
325
原创 iOS之UI随笔-UITableView的性能优化
参考:http://bbs.51cto.com/thread-1123666-1-1.html- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath这个代理方法的实现,在可见的页面是会重复绘制页面的,所以绝大部分人都会在这里做一些代码处理比如:st
2015-12-03 20:37:09
347
原创 iOS之MBProgressHUD用法总结
今天将MBProgressHUD第三方库的使用简单总结如下:#import "ViewController.h"#import "MBProgressHUD.h"@interface ViewController ()<MBProgressHUDDelegate>{ MBProgressHUD * _circleHUD;}@end@implementation ViewControl
2015-10-28 22:00:29
1254
原创 iOS之UI随笔-UIKit框架控件之间的继承关系
UIKit结构图: 核心控件的常见属性和方法:@interface UIView : UIResponder<NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem>/** * 通过一个frame来初始化一个UI控件 */- (id)initWithFrame:(CGRect)frame;// YES:能够跟用户进行交互@
2015-10-20 18:58:15
714
原创 iOS之UI随笔-视图控制器的生命周期
在我们开发的过程中经常要控制视图出现顺序已达到良好的视图效果,这时候就要合理的判断每个视图控制器在程序中出现的顺序,以便达到需求。这里用代码直观的解释更为准确:MainViewController.m文件 (DetailViewController为创建的详情页面的控制器)#import "MainViewController.h"#import "DetailViewController.h"
2015-10-19 21:08:58
345
原创 iOS之OC随笔-Foudation框架下集合的相互转换
#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) { @autoreleasepool { //1、NSArray 转换为 NSMutableArray NSArray * array = @[@"One",@"Two",@"Three"]; NSMu
2015-10-13 21:01:27
401
原创 iOS之OC随笔-遍历数组方法总结
#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) { @autoreleasepool {//OC中在C基础之上增加的数据类型,BOOL,id,SEL,block //1、使用for循环遍历数组 NSArray * array = @[@"One",@"Two",@"
2015-10-13 20:56:06
517
原创 iOS之OC随笔-属性修饰符
内存管理一直是OC的重点内容,而属性的内存管理从我们开始编写第一句iOS代码就伴随着我们,其重要程度可见一斑。下面是OC内存管理修饰符的总结,只是写出最常用的几个属性的内存管理修饰符,适用范围ARC。简单总结:基本数据类型用assign,对象用strong,代理和UI控件用weak,字符串用copy:1、assgin 适用于对基本数据类型(int,float等)的简单赋值操作2、strong 这个属
2015-10-13 20:24:43
835
原创 iOS之OC随笔-@class与#import,#include的用法区分
@class与#import二者的区别在于:1.import会包含这个类的所有信息,包括实体变量和方法,而@class只是告诉编译器,其后面声明的名称是类的名称,至于这些类是如何定义的,暂时不用考虑,后面会再告诉你。2.在头文件中, 一般只需要知道被引用的类的名称就可以了。 不需要知道其内部的实体变量和方法,所以在头文件中一般使用@class来声明这个名称是类的名称。 而在实现类里面,因为会用到这个
2015-10-13 19:33:09
470
原创 iOS之UI随笔-字典转模型以及双模型的构建
iOS开发过程中字典转模型是非常重要的一个知识点,在解析plist文件或者json文件时是必不可少的一步,下面用例子来介绍一下怎样在优化代码的同时解析出所需要的plist文件内容展现在tableView上面。
2015-10-03 15:43:14
529
原创 iOS之OC随笔-plist文件解析
将文件中的车名解析出来:int main(int argc, const char * argv[]) {@autoreleasepool { //一种获取机密的感觉,其实就是挖掘信息,首先将plist路径存入到文件中,然后我们获取plist最外层的字典 NSDictionary * dict = [[NSDictionary alloc]initWithContentsOfFil
2015-09-30 00:34:05
2007
原创 iOS之UI随笔-UIScrollView
首先什么时候使用UIScrollView:当屏幕的大小无法满足所要展示的完整的视图效果时,需使用UIScrollView滚动控件来实现滚动查看所有的信息。 那么就是来谈一下UIScrollView的用法: (1)将需要展示的内容(如UIView)添加到UIScrollView中 (2)设置UIScrollView的contentSize属性,告诉UIScrollView所有内容的尺寸,
2015-09-27 18:36:54
391
原创 iOS之UI随笔-UIButton与UIImageView
UIButton与UIImageView两者的关系对于初学者来说可能会造成混淆,今天就为大家来简单总结一下两者的关系:(1)相同点:两者都可以显示图片 (2)不同点: 1⃣️UIImageView:仅显示图片,不需要监听点击事件,即不能处理点击事件;UIButton既能显示图片,又能显示文字,而且还可以监听图片的点击 2⃣️UIButton能显示两张图片,即正常情况下的图片normol和高亮状
2015-09-27 15:06:47
376
原创 iOS之OC随笔-Model数据类型
解析plist文件的时候将字典转换为数据模型更为方便准确在ViewController中: if (_dataArray == nil) { // 初始化数组dataArray // 1.获得plist的全路径 NSString *path = [[NSBundle mainBundle] pathForResource:@"app.plist" ofType:nil];
2015-09-13 21:58:00
1047
原创 iOS之OC随笔-九宫格的算法简单实现
九宫格的算法分析: Tables Are Cool 0 1 2 3 4 5 6 7 8格子间: 间隙 = (控制器view的宽度 - 3 * 应用宽度) / 4 index 表示格子的索引,即0,1,2,3……8 for(index= 0;index < 9 ; index++) 计算行号:int row = index / 3 ; 决
2015-09-13 19:37:38
7066
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人