自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 收藏
  • 关注

原创 swift 3

swift 3swift 语法C语言时代的 ++ 、 — 操作符被彻底删除,改为+=或-=for-each循环(闭包):(1…10).forEach{ print($0)}移除Currying(柯里化)函数,原因太复杂移除变量参数,用inout参数替换,便于观察函数调用第一个参数必须加标签,解决方法 第一个参数之前加入 __ ,影响最大Selector,keyPath不在以Stri

2016-08-15 10:37:52 584

原创 07-掌握-GCD基本使用

创建并发队列(一般很少用到)/* 第一个参数:C语言字符串,标签:不安全的指针[-128,127] 第二个参数:dispatch_queue_attr_t类或子类 DISPATCH_QUEUE_CONCURRENT:并发队列 DISPATCH_QUEUE_SERIAL:串行队列 dispatch_queue_create(label: UnsafePointer<Int8>, _ attr:

2016-07-27 16:30:15 491

原创 03-掌握-NSThread基本使用

第一种创建线程的方式特点:需要调用start方法开启线程 /* 第一个参数:目标对象 第二个参数:选择器,调用哪个方法 第三个参数:前面方法需要传递的参数 */ let thread = NSThread.init(target: self, selector: #selector(run123(

2016-07-27 09:15:31 513

原创 AFNetworking3.1 POST 请求

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; // 不加上这句话,会报“Request failed: unacceptable content-type: text/plain”错误 manager.responseSerializer = [AFHTTPResponseSerialize

2016-05-31 16:04:38 1672

原创 AFN3.1 POST请求 参数问题

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; // 不加上这句话,会报“Request failed: unacceptable content-type: text/plain”错误 manager.responseSerializer = [AFHTTPResponseSerialize

2016-05-27 15:39:30 1856

原创 AFN GET简易优化

基础 AFHTTPSessionManager *session = [AFHTTPSessionManager manager]; NSString *url = @"xxxxx"; [session GET:url parameters:nil progress:^(NSProgress * _Nonnull downloa

2016-05-10 18:17:42 624

转载 图片下载简单处理

- setItem:(CustomItem *)item{ _item = item; // 占位图片 UIImage *placeholder = [UIImage imageNamed:@"placeholderImage"]; // 从内存\沙盒缓存中获得原图 UIImage *originalImage = [[SDImageCache sharedI

2016-05-05 16:58:47 274

原创 Swift: Tuple 元组

### Tuple - Pack multiple values together+ (200, "HTTP OK")+ (404, "File not found")+ ("Mars", 11, "[email protected]")//: #### Define a tuplelet success = (200, "HTTP OK")let fileNotFound =

2016-04-17 22:03:36 361

原创 Swift:Float

//: ### Float numbers Float   Such as: 3.14 1.44 2.71(浮点数)+ Float  - a 6 digits precision number  (小数精确6位)+ Double - a 15 digits precision number (小数精确15位)var oneThirdInFloat: Float =

2016-04-17 21:56:43 682

原创 Swift:类型推理

let meaningOfLife = 42 // meaningOfLife 会被推测为 Int 类型let pi = 3.14159 // pi 会被推测为 Double 类型//当推断浮点数的类型时,Swift 总是会选择 Double 而不是 Floatlet anotherPi = 3 + 0.14159 // anotherPi 会被推测为 Double 类型//原始值

2016-04-17 21:53:59 299

原创 Swift:Integer

Integer Such as: 1 10 100 1000  (整数)//标准let numberTen1: Int = 10var numberTen0: Int = 10 • 在32位的平台上,Int 的大小与 Int32 的大小相同。 • 在64位的平台上,Int 的大小与 Int64 的大小相同。 • 在32位的平台上,UInt的大小与

2016-04-17 14:37:57 578

原创 UIImageView添加圆角优化

imgView.layer.cornerRadius = 10;// 这一行代码是很消耗性能的imgView.clipsToBounds = YES;**这是离屏渲染(off-screen-rendering),消耗性能的**给UIImage添加生成圆角图片的扩展API:这是on-screen-rendering- (UIImage *)imageWithCor

2016-04-11 12:06:11 1442

原创 enum推荐使用模型

enum 建议使用 NS_ENUM 和 NS_OPTIONS 宏来定义枚举类型,参见官方的 Adopting Modern Objective-C 一文typedef NS_ENUM(NSInteger, CYLUserGender) { CYLUserGenderUnknown, CYLUserGenderMale, CYLUserGenderFemale,

2016-03-29 16:31:41 284

原创 对比:LongPressTest

Swift import UIKitlet MARGINE: CGFloat = 20let BUTTON_WIDTH: CGFloat = 80let BUTTON_HEIGHT: CGFloat = 30let CELL_WIDTH: CGFloat = 100let CELL_HEIGHT: CGFloat = 40class ViewController: UIView

2016-03-21 16:15:31 437

原创 Swift调用系统相机

if UIImagePickerController.isSourceTypeAvailable(.Camera){ //创建图片控制器 let picker = UIImagePickerController() //设置代理 picker.delegate = self //设置来源 picker.sourceType =

2016-03-21 15:34:16 460

原创 对比:UIButton创建方法

Swift func addButton(imageName: String, highImageName: String, disableImageName: String, frame: CGRect, tag: Int, action :Selector){ // 创建按钮

2016-03-21 14:56:43 287

原创 对比:AppDelegate中 application:didFinishLaunchingWithOptions

Swift // 当应用程序启动后将会调用该方法 func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // Override point for customizat

2016-03-15 11:37:26 3550

转载 联系苹果必备!App Store官方邮箱列表大全

联系苹果必备!App Store官方邮箱列表大全1. 开发相关问题(1)与iDP或ADC相关问题,其中包括:-iDP或ADC查询;-程序信息、收益、账户信息;-修改邮箱地址、公司联系地址、团队代理人(代理人才有权生成发布证书)-ADC产品、硬件等退费-ADC网站查询:合作伙请求可发邮件到:[email protected](2)与代码相关问题,其中包括:-代码级别的提问-API使用-代码崩溃/如何使

2016-03-10 15:42:34 2818

原创 Xcode 如何修改APP的名称

Bundle name - is folder name, where your app (including executable file and all resources) will be stored (Cool Program.app)。建议不要修改bundle nameBundle display name - is what will be shown on iPhone sc

2016-03-10 11:33:35 799

原创 Swift UITabBarController 基本用法

//// MainTabBarVC.swift// TsOneS//// Created by xubaoji on 16/3/7.// Copyright © 2016年 xubaoji. All rights reserved.//import UIKitclass MainTabBarVC: UITabBarController { override f

2016-03-08 15:21:36 654

原创 Swift UIColor Extension (扩展)

使用方法let nav0 = UIColor.RGB(67, g: 199, b: 176)let nav1 = UIColor.RGBA(67, g: 199, b: 176, alpha:1.0)let nav2 = UIColor(r: 67, g: 199, b: 176)let nav3 = UIColor(r: 67, g: 199, b: 176 ,alpha: 1.0)

2016-03-07 19:02:19 866

翻译 C++ 运算符优先级

C++ 运算符优先级下表列出了C + +运算符的优先级和结合性。 运算符列出从上到下,按照优先级 解析表达式时,操作员在一些上市行上表的优先级将被绑定收紧(括号) 好像比任何运营商,其参数如下一行上市进一步优先级较低。 例如,表达式std::cout < < a和b和解析* p + +(std::cout < < b和*)&(p + +), 而不是std::cout < <(a和b)或(*

2016-03-03 14:44:47 914

原创 swift Xcode新建playground报错

Xcode新建playgroundError running playground.报错:Unable to find execution service for selected run destination用Xcode新建playground界面直接报错Unable to find execution service for selecte

2016-02-23 14:39:46 610

翻译 Mac开发:NSTableView教程

TableView是OS X应用程序中一个最常用的控件。例如邮件的消息列表和聚光灯下的搜索结果。在本教程中,您将使用一个TableView创建一个函数文件查看器。开始你有一个空白的画布,您将创建一个很酷的文件查看器。starter应用程序已经有了一些功能需要通过本教程。与应用程序打开,选择File/Open……(Command+O快捷键)。从

2016-02-04 14:55:36 12043 2

原创 iOS开发手写分页

#pragma mark -//当用户开始拖拽的时候就调用- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{ [self removeNSTimer];}//当用户停止拖拽的时候调用- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView w

2016-01-28 15:13:44 362

原创 图文混排之NSAttributedString

-(NSAttributedString *)imagesWithimgName:(NSString* )imgName offsetY:(CGFloat)offsetY{ NSTextAttachment * textAttachment = [[NSTextAttachment alloc]init]; UIImage * smileImage = [ UIImage ima

2016-01-08 18:38:26 362

转载 iOS画图时 自己做的一小笔记

CGContextRef context = UIGraphicsGetCurrentContext(); 设置上下文CGContextMoveToPoint 开始画线CGContextAddLineToPoint 画直线CGContextAddEllipseInRect 画一椭圆CGContextSetLineCap 设置线条终点形状CGContextSe

2015-12-23 15:27:30 406

转载 最全的常用正则表达式大全

一、校验数字的表达式1、数字:^[0-9]*$2、n位的数字:^\d{n}$3、至少n位的数字:^\d{n,}$4、m-n位的数字:^\d{m,n}$5、零和非零开头的数字:^(0|[1-9][0-9]*)$6、非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$7、带1-2位小数的正数或负数:^(\-)?\d+(

2015-12-21 14:26:49 366

翻译 翻译:采用现代Objective-C

多年来,Objective-C语言已经发展和演变。虽然核心概念和实践保持不变,部分语言经历重大变化和改进。这些现代化提高类型安全、内存管理、性能、和其他方面的Objective-C,使你更容易编写正确的代码。采用这些变化是很重要的在你的现有的和未来的代码来帮助它变得更加一致,可读的,有弹性。Xcode提供了一个工具来帮助使你的一些结构性变化。但是在使用这个工具之前,你想

2015-12-17 18:20:12 682

原创 iOS APP调用天猫or淘宝客户端

- (void)showItemInWebOrAppWithTypeFrom:(NSString *)typeFrom urlstr:(NSString *)url{ if ([typeFrom isEqualToString:@"tmall"]) { [self showItemInTmall4iOS:url]; } else if([typeF

2015-12-11 16:11:11 1197

转载 使用URL SCHEME启动淘宝客户端并跳转到某个商品页面的方法

// 构建淘宝客户端协议的 URL NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"taobao://item.taobao.com/item.htm?id=%@", itemId]]; // 判断当前系统是否有安装淘宝客户端 if ([[UIApplication sharedAppl

2015-12-03 16:51:44 8412

转载 使用URL SCHEME启动天猫客户端并跳转到某个商品页面的方法

NSString *urlString = @“http://detail.tmall.com/item.htm?spm=a215v.7217581.610138.10.sO6nZp&id=36615660686&areaId=410100&cat_id=2&rn=ebe1860b08257aacbac424ed12d5208c&user_id=1098342976&is_b=1”;NSURL

2015-12-03 16:50:24 3653

原创 Objective-C中@property的所有属性详解

1,assign :简单赋值,不更改索引计数假设你用malloc分配了一块内存,并且把它的地址赋值给了指针a,后来你希望指针b也共享这块内存,于是你又把a赋值给(assign)了b。此时a 和b指向同一块内存,请问当a不再需要这块内存,能否直接释放它?答案是否定的,因为a并不知道b是否还在使用这块内存,如果a释放了,那么b在使用这块内存的时候会引起程序crash掉 应用场合:对

2015-11-24 15:54:35 2269

转载 Objective-C 编码建议<转载>

总则1.Don’t repeat your self.2.代码自注释,依靠代码本身来表达你的设计意图,不要依赖注释。3.单一指责,无论是类、函数、模块、包尽可能令其指责纯净且单一。4.死程序不说谎,不要因为防止Crash写奇葩的代码。程序Crash了,反而更容易查找错误。5.借用美国童子军军规:让营地比你来时更干净。格式1.任意函数长

2015-11-19 16:46:48 338

原创 GCD 扫盲篇<转载>

GCD 扫盲篇GCD有四个概念:串行队列、并行队列、同步、异步四者。如下简介:这里不仅给出了不确定性,而且也给出了确定性。对于初学者而言,有时候因为那些不确定的东西所造成的疑问会像没有闸却在疾驰的汽车一样让人惊慌失措,而“确定性”就如同这救命的车闸一样,它能让你豁然开朗。名称功能特点确定性解释不确定性解释同步完成需要做的任

2015-11-12 17:44:12 589

原创 ios9 3D Touch 实现

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ if (IOS_9_OR_LATER) { UIApplicationShortcutIcon *firstItemIcon = [UIApplicationS

2015-10-28 13:58:54 486

原创 iOS开NSDate 设置今天

NSCalendar *cal = [NSCalendar currentCalendar]; NSDateComponents *components = [cal components:(NSEraCalendarUnit|NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit) fromDate:[NSDate date]];

2015-10-28 11:01:59 312

原创 iOS开发 iOS9适配问题

在项目中info.plist 加入 NSAppTransportSecurity  类型 Dictionary然后在其中加入NSAllowsArbitraryLoads 类型Boolean    输入:  YES加入LSApplicationQueriesSchemes 类型 Array在其中加人  类型 String   值:  比如   weixin 

2015-09-17 12:02:19 412

原创 iOS开发 创建自己的UserAgent

- (void)createNewUserAgent{ UIWebView* tempWebView = [[UIWebView alloc] initWithFrame:CGRectZero]; NSString* userAgent = [tempWebView stringByEvaluatingJavaScriptFromString:@"navigator.userAg

2015-09-16 13:50:14 501

原创 iOS开发 跳转到系统对应app设置(ios8)

if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]]) { [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplication

2015-09-16 13:43:26 493

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除