- 博客(71)
- 收藏
- 关注
原创 swift 3
swift 3swift 语法C语言时代的 ++ 、 — 操作符被彻底删除,改为+=或-=for-each循环(闭包):(1…10).forEach{ print($0)}移除Currying(柯里化)函数,原因太复杂移除变量参数,用inout参数替换,便于观察函数调用第一个参数必须加标签,解决方法 第一个参数之前加入 __ ,影响最大Selector,keyPath不在以Stri
2016-08-15 10:37:52
602
原创 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
522
原创 03-掌握-NSThread基本使用
第一种创建线程的方式特点:需要调用start方法开启线程 /* 第一个参数:目标对象 第二个参数:选择器,调用哪个方法 第三个参数:前面方法需要传递的参数 */ let thread = NSThread.init(target: self, selector: #selector(run123(
2016-07-27 09:15:31
527
原创 AFNetworking3.1 POST 请求
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; // 不加上这句话,会报“Request failed: unacceptable content-type: text/plain”错误 manager.responseSerializer = [AFHTTPResponseSerialize
2016-05-31 16:04:38
1683
原创 AFN3.1 POST请求 参数问题
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; // 不加上这句话,会报“Request failed: unacceptable content-type: text/plain”错误 manager.responseSerializer = [AFHTTPResponseSerialize
2016-05-27 15:39:30
1866
原创 AFN GET简易优化
基础 AFHTTPSessionManager *session = [AFHTTPSessionManager manager]; NSString *url = @"xxxxx"; [session GET:url parameters:nil progress:^(NSProgress * _Nonnull downloa
2016-05-10 18:17:42
656
转载 图片下载简单处理
- setItem:(CustomItem *)item{ _item = item; // 占位图片 UIImage *placeholder = [UIImage imageNamed:@"placeholderImage"]; // 从内存\沙盒缓存中获得原图 UIImage *originalImage = [[SDImageCache sharedI
2016-05-05 16:58:47
303
原创 Swift: Tuple 元组
### Tuple - Pack multiple values together+ (200, "HTTP OK")+ (404, "File not found")+ ("Mars", 11, "11@boxue.io")//: #### Define a tuplelet success = (200, "HTTP OK")let fileNotFound =
2016-04-17 22:03:36
391
原创 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
711
原创 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
313
原创 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
621
原创 UIImageView添加圆角优化
imgView.layer.cornerRadius = 10;// 这一行代码是很消耗性能的imgView.clipsToBounds = YES;**这是离屏渲染(off-screen-rendering),消耗性能的**给UIImage添加生成圆角图片的扩展API:这是on-screen-rendering- (UIImage *)imageWithCor
2016-04-11 12:06:11
1467
原创 enum推荐使用模型
enum 建议使用 NS_ENUM 和 NS_OPTIONS 宏来定义枚举类型,参见官方的 Adopting Modern Objective-C 一文typedef NS_ENUM(NSInteger, CYLUserGender) { CYLUserGenderUnknown, CYLUserGenderMale, CYLUserGenderFemale,
2016-03-29 16:31:41
306
原创 对比: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
458
原创 Swift调用系统相机
if UIImagePickerController.isSourceTypeAvailable(.Camera){ //创建图片控制器 let picker = UIImagePickerController() //设置代理 picker.delegate = self //设置来源 picker.sourceType =
2016-03-21 15:34:16
478
原创 对比:UIButton创建方法
Swift func addButton(imageName: String, highImageName: String, disableImageName: String, frame: CGRect, tag: Int, action :Selector){ // 创建按钮
2016-03-21 14:56:43
301
原创 对比:AppDelegate中 application:didFinishLaunchingWithOptions
Swift // 当应用程序启动后将会调用该方法 func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // Override point for customizat
2016-03-15 11:37:26
3589
转载 联系苹果必备!App Store官方邮箱列表大全
联系苹果必备!App Store官方邮箱列表大全1. 开发相关问题(1)与iDP或ADC相关问题,其中包括:-iDP或ADC查询;-程序信息、收益、账户信息;-修改邮箱地址、公司联系地址、团队代理人(代理人才有权生成发布证书)-ADC产品、硬件等退费-ADC网站查询:合作伙请求可发邮件到:iDP-DTS@apple.com(2)与代码相关问题,其中包括:-代码级别的提问-API使用-代码崩溃/如何使
2016-03-10 15:42:34
4653
原创 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
842
原创 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
681
原创 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
896
翻译 C++ 运算符优先级
C++ 运算符优先级下表列出了C + +运算符的优先级和结合性。 运算符列出从上到下,按照优先级 解析表达式时,操作员在一些上市行上表的优先级将被绑定收紧(括号) 好像比任何运营商,其参数如下一行上市进一步优先级较低。 例如,表达式std::cout < < a和b和解析* p + +(std::cout < < b和*)&(p + +), 而不是std::cout < <(a和b)或(*
2016-03-03 14:44:47
969
原创 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
639
翻译 Mac开发:NSTableView教程
TableView是OS X应用程序中一个最常用的控件。例如邮件的消息列表和聚光灯下的搜索结果。在本教程中,您将使用一个TableView创建一个函数文件查看器。开始你有一个空白的画布,您将创建一个很酷的文件查看器。starter应用程序已经有了一些功能需要通过本教程。与应用程序打开,选择File/Open……(Command+O快捷键)。从
2016-02-04 14:55:36
12163
2
原创 iOS开发手写分页
#pragma mark -//当用户开始拖拽的时候就调用- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{ [self removeNSTimer];}//当用户停止拖拽的时候调用- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView w
2016-01-28 15:13:44
392
原创 图文混排之NSAttributedString
-(NSAttributedString *)imagesWithimgName:(NSString* )imgName offsetY:(CGFloat)offsetY{ NSTextAttachment * textAttachment = [[NSTextAttachment alloc]init]; UIImage * smileImage = [ UIImage ima
2016-01-08 18:38:26
396
转载 iOS画图时 自己做的一小笔记
CGContextRef context = UIGraphicsGetCurrentContext(); 设置上下文CGContextMoveToPoint 开始画线CGContextAddLineToPoint 画直线CGContextAddEllipseInRect 画一椭圆CGContextSetLineCap 设置线条终点形状CGContextSe
2015-12-23 15:27:30
422
转载 最全的常用正则表达式大全
一、校验数字的表达式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
381
翻译 翻译:采用现代Objective-C
多年来,Objective-C语言已经发展和演变。虽然核心概念和实践保持不变,部分语言经历重大变化和改进。这些现代化提高类型安全、内存管理、性能、和其他方面的Objective-C,使你更容易编写正确的代码。采用这些变化是很重要的在你的现有的和未来的代码来帮助它变得更加一致,可读的,有弹性。Xcode提供了一个工具来帮助使你的一些结构性变化。但是在使用这个工具之前,你想
2015-12-17 18:20:12
701
原创 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
1226
转载 使用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
8705
转载 使用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
3784
原创 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
2302
转载 Objective-C 编码建议<转载>
总则1.Don’t repeat your self.2.代码自注释,依靠代码本身来表达你的设计意图,不要依赖注释。3.单一指责,无论是类、函数、模块、包尽可能令其指责纯净且单一。4.死程序不说谎,不要因为防止Crash写奇葩的代码。程序Crash了,反而更容易查找错误。5.借用美国童子军军规:让营地比你来时更干净。格式1.任意函数长
2015-11-19 16:46:48
367
原创 GCD 扫盲篇<转载>
GCD 扫盲篇GCD有四个概念:串行队列、并行队列、同步、异步四者。如下简介:这里不仅给出了不确定性,而且也给出了确定性。对于初学者而言,有时候因为那些不确定的东西所造成的疑问会像没有闸却在疾驰的汽车一样让人惊慌失措,而“确定性”就如同这救命的车闸一样,它能让你豁然开朗。名称功能特点确定性解释不确定性解释同步完成需要做的任
2015-11-12 17:44:12
619
原创 ios9 3D Touch 实现
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ if (IOS_9_OR_LATER) { UIApplicationShortcutIcon *firstItemIcon = [UIApplicationS
2015-10-28 13:58:54
598
原创 iOS开NSDate 设置今天
NSCalendar *cal = [NSCalendar currentCalendar]; NSDateComponents *components = [cal components:(NSEraCalendarUnit|NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit) fromDate:[NSDate date]];
2015-10-28 11:01:59
341
原创 iOS开发 iOS9适配问题
在项目中info.plist 加入 NSAppTransportSecurity 类型 Dictionary然后在其中加入NSAllowsArbitraryLoads 类型Boolean 输入: YES加入LSApplicationQueriesSchemes 类型 Array在其中加人 类型 String 值: 比如 weixin
2015-09-17 12:02:19
437
原创 iOS开发 创建自己的UserAgent
- (void)createNewUserAgent{ UIWebView* tempWebView = [[UIWebView alloc] initWithFrame:CGRectZero]; NSString* userAgent = [tempWebView stringByEvaluatingJavaScriptFromString:@"navigator.userAg
2015-09-16 13:50:14
533
原创 iOS开发 跳转到系统对应app设置(ios8)
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]]) { [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplication
2015-09-16 13:43:26
521
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人