2018年9月11日

摘要: 准备 iOS做https适配时对服务器是有一定要求的,服务端必须要是一个符合ATS(App Transport Security)要求的HTTPS。简单说要满足以下几个要求: 1.Transport Layer Security协议版本要求TLS1.2以上 2.服务的Ciphers配置要求支持For 阅读全文
posted @ 2018-09-11 11:51 wenxp2006 阅读(2700) 评论(0) 推荐(0) 编辑
 

2018年8月13日

摘要: import UIKit extension UIImage { /// 获取网络图片尺寸 /// /// - Parameter url: 网络图片链接 /// - Returns: 图片尺寸size class func getImageSize(_ url: String?) -> CGSiz 阅读全文
posted @ 2018-08-13 16:59 wenxp2006 阅读(1739) 评论(2) 推荐(0) 编辑
 

2017年3月6日

摘要: 1、swift -version //swift 版本查看 2、swift build //swift工程编译 3、swift package generate-xcodeproj //创建Xcode工程文件 4、swift run //swift工程运行 5、swift package init 阅读全文
posted @ 2017-03-06 15:34 wenxp2006 阅读(562) 评论(0) 推荐(0) 编辑
 

2015年9月2日

摘要: 事情的起因还是因为项目需求驱动。折腾了两天,由于之前没有UIWebView与JS交互的经历,并且觉得这次在功能上有一定的创造性,特此留下一点文字,方便日后回顾。我要实现这样一个需求:按照本地的CSS文件展示一串网络获取的带HTML格式的只有body部分的文本,需要自己拼写完整的HTML。除此之外,还... 阅读全文
posted @ 2015-09-02 10:52 wenxp2006 阅读(10812) 评论(0) 推荐(1) 编辑
 

2013年10月23日

摘要: 在iOS7以下版本中,对UITextView设置了text属性,则contentsize就会变化,从而可以根据contentsize的变化来改变UITextView高度来做出TextView高度随着输入字符变化而变化。在iOS7系统中设置text并不能立即导致contentsize的变化,而是在layoutsubview时会计算一次contentsize。估计iOS7中是text改变之后,UITextView 成为firstResponder之后会调用layoutIfNeeded。要计算高度一种UITextView内容对应的高度,需要自己用NSString的sizeWith** 系列函数来计算 阅读全文
posted @ 2013-10-23 00:20 wenxp2006 阅读(3399) 评论(0) 推荐(0) 编辑
 

2013年5月19日

摘要: 之前虽然已经学习IOS开发很久了,但是发现好多东西都没有理解到位。今天才彻底弄明白UITableVIewCell的创建过程,所以详细写下来,以供以后参考理解。UITableView通过调用方法 -(UITableViewCell*)tableView:(UITableView*)tableViewcellForRowAtIndexPath:(NSIndexPath*)indexPath来生成单元格UITableViewCell,而创建生成UITableViewCell的最大个数则有每个cell的高度height和窗口高度screenHeight共同决定,也即生成的cell个数为count=sc 阅读全文
posted @ 2013-05-19 13:58 wenxp2006 阅读(270) 评论(0) 推荐(0) 编辑
 

2012年10月18日

摘要: _alloc原型:void *_alloc(size_t size);本函数与上述的两个函数不同,因为它是在栈上分配了size大小的内存,因此使用此函数分配的内存不用再担心内存释放的情况了。但是使用此函数需要注意的是:在函数内部使用此函数分配的内存随着函数的终结不复存在,因此不能将此函数分配的内存供函数外部使用。malloc原型:void * malloc(size_t size);该函数将在堆上分配一个size byte大小的内存。它分配的单原完全按字节大小计算,因此如此分配N个单原的student_t,那么要这样实现:(stdent_t *)malloc(N * sizeof (stude 阅读全文
posted @ 2012-10-18 10:07 wenxp2006 阅读(1810) 评论(0) 推荐(0) 编辑
 

2012年8月23日

摘要: 所谓遍历(Traversal)是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具体的应用问题。二叉树有三种遍历方法:1、前序遍历,也叫先根遍历,遍历的顺序是,根,左子树,右子树;2、中序遍历,也叫中根遍历,顺序是 左子树,根,右子树;3、后序遍历,也叫后根遍历,遍历顺序,左子树,右子树,根。同样二叉树的建立也有三种方式,在此处只做了前序建立二叉树的方法。以下就是二叉树的建立和遍历代码。欢迎大家拍砖。#include<stdio.h>#include <stdlib.h>#include<malloc.h>typedef 阅读全文
posted @ 2012-08-23 09:09 wenxp2006 阅读(874) 评论(0) 推荐(0) 编辑
 

2012年8月22日

摘要: 概况IAP能正常工作的秘诀:分成两个步骤:创建及提取产品描述购买产品第一个步骤是你可能遇到问题的部分。一旦你在代码中成功地获取了产品描述,编写购买产品的代码不过是小菜一碟。我们先看看步骤1。创建及提取产品描述下面是有关创建产品及提取其描述的非常粗略的步骤:创建唯一的App ID生成及安装新的provisioning profile文件在Xcode中更新 bundle ID 及 code signing profile如果还没做的话,请在iTunes Connect中提交有关你程序的 metadata如果还没做的话,请在iTunes Connect中提交你程序的二进制码为IAP添加新产品编写提取 阅读全文
posted @ 2012-08-22 11:14 wenxp2006 阅读(890) 评论(0) 推荐(0) 编辑
 

2012年7月19日

摘要: 1、#import是GCC编译器提供的,Xcode在编译Objective-C、C和C++程序时都会使用它,#import可保证头文件只被包含一次,而不论此命令实际上在那个文件中出现了多少次。 在C语言中,程序员通常使用基于#ifdef命令的方案来避免一个文件包含另一个文件,而后者又包含第一个文件的情况。而在Objective-C中,程序员使用#import实现这个功能。2、NSLog()与printf()相比添加了一些特性,例如时间戳、日期戳和自动附加换行符(‘\n’)等。3、Objective-C中的BOOL实际上是一种对带符号的字符类型(signed char)的定义(typedef), 阅读全文
posted @ 2012-07-19 19:28 wenxp2006 阅读(269) 评论(0) 推荐(0) 编辑