自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 从零开始搭建iOS项目框架

APP项目搭建上周个人刚搭建完的项目框架,在这分享一下,主要还是采用MVC设计模式,没有使用storyboard,纯代码搭的界面。1.新建工程1.1 新建项目 * 删除无用的文件(Main.storyboard,ViewController) * 删除plist文件中Main storyboard file base name一项 * appdelegate进行修改- (BOOL)applic

2017-03-31 14:03:05 6886 2

原创 iOS缓存清理

1.清除本地数据库中的数据2. 清除Caches目录下文件 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask,YES); NSString *cachesDir = [paths objectAtIndex:0]; NSFileManager* man

2017-03-27 09:50:52 477

原创 tableview 去除footer高度

tableView Section头部停留在顶部当UITableView的style为Plain的时候,就会出现这种情况,解决办法就是创建的时候选择组的形式 _tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, self.view.frame.size.height - 64)

2017-03-22 10:04:13 2052

原创 swift 简单易用类似新闻客户端的结构

一句话实现let segementVC = LWTSegementViewController()//设置栏目的标题数组segementVC.titleArray = ["社会","科技","娱乐","体育","美女","动物"]//设置每个栏目的控制器数组for (_, _) in segementVC.titleArray.enumerated() { let vc = Tes

2017-03-15 16:33:25 988

转载 swift学习笔记(22)- 高级运算符

Swift 支持 C 语言中的全部位运算符。 主要记下特殊的高级运算符溢出运算符在默认情况下,当向一个整数赋予超过它容量的值时,Swift 默认会报错,而不是生成一个无效的数。这个行为为我们在运算过大或着过小的数的时候提供了额外的安全性。例如,Int16 型整数能容纳的有符号整数范围是 -32768 到 32767,当为一个 Int16 型变量赋的值超过这个范围时,系统就会报错:var poten

2017-03-13 15:28:06 323

转载 swift学习笔记(21)- 访问控制

模块和源文件Swift 中的访问控制模型基于模块和源文件这两个概念。模块指的是独立的代码单元,框架或应用程序会作为一个独立的模块来构建和发布。在 Swift 中,一个模块可以使用 import 关键字导入另外一个模块。在 Swift 中,Xcode 的每个目标(例如框架或应用程序)都被当作独立的模块处理。如果你是为了实现某个通用的功能,或者是为了封装一些常用方法而将代码打包成独立的框架,这个框架就是

2017-03-13 14:18:42 415

转载 swift学习笔记(20)- 泛型

泛型函数泛型函数可以适用于任何类型,下面的 swapTwoValues(::) 函数是上面三个函数的泛型版本:func swapTwoValues<T>(_ a: inout T, _ b: inout T) { let temporaryA = a a = b b = temporaryA}swapTwoValues(::) 的函数主体和 swapTwoInts(::)

2017-03-10 16:43:46 480

转载 swift学习笔记(19)- 协议

协议语法协议的定义方式与类、结构体和枚举的定义非常相似:protocol SomeProtocol { // 这里是协议的定义部分}要让自定义类型遵循某个协议,在定义类型时,需要在类型名称后加上协议名称,中间以冒号(:)分隔。遵循多个协议时,各协议之间用逗号(,)分隔:struct SomeStructure: FirstProtocol, AnotherProtocol { //

2017-03-09 10:23:02 413

原创 MJRefresh实现动画下拉刷新

项目中需要使用下拉的动画效果,MJ上的是图片在左,文字在右(而且没有样式选择),我们需要的是图片在上文字在下,我们只需要继承MJRefreshGifHeader,即可修改样式。 -(void)prepare{ [super prepare]; // 设置普通状态的动画图片 NSMutableArray *idleImages = [NSMutableArray array];

2017-03-08 17:07:09 1775

转载 swift学习笔记(18)- 扩展

扩展作用添加计算型属性和计算型类型属性定义实例方法和类型方法提供新的构造器定义下标定义和使用新的嵌套类型使一个已有类型符合某个协议 在 Swift中,你甚至可以对协议进行扩展,提供协议要求的实现,或者添加额外的功能,从而可以让符合协议的类型拥有这些功能。你可以从协议扩展获取更多的细节。 注意 扩展可以为一个类型添加新的功能,但是不能重写已有的功能。扩展语法使用关键字 exte

2017-03-06 18:12:52 362

转载 swift学习笔记(17)- 类型转换

定义一个类层次作为例子你可以将类型转换用在类和子类的层次结构上,检查特定类实例的类型并且转换这个类实例的类型成为这个层次结构中的其他类型。下面的三个代码段定义了一个类层次和一个包含了这些类实例的数组,作为类型转换的例子。class MediaItem { var name: String init(name: String) { self.name = name

2017-03-06 16:20:31 415

原创 iOS appIcon生成和设置

使用asset catalog creator工具一键生成app的icon,美工出一张1024*1024的图片即可,不用再Xcode中一张张选择各类型的icon,方便很多 使用方法 直接将1024尺寸的图片拖到这上面即可,选择好你工程中images.xcassets文件夹的位置,选择iOS icon,最后点击Update Assets Catalog即可完成。 生成之后你可以在工程中image

2017-03-04 20:04:43 741

转载 swift学习笔记(16)- 错误处理

表示并抛出错误在 Swift 中,错误用符合Error协议的类型的值来表示。这个空协议表明该类型可以用于错误处理。Swift 的枚举类型尤为适合构建一组相关的错误状态,枚举的关联值还可以提供错误状态的额外信息。例如,你可以这样表示在一个游戏中操作自动贩卖机时可能会出现的错误状态:enum VendingMachineError: Error { case invalidSelection

2017-03-04 17:01:43 484

转载 swift学习笔记(15)- 可选链

使用可选链式调用代替强制展开通过在想调用的属性、方法、或下标的可选值后面放一个问号(?),可以定义一个可选链。这一点很像在可选值后面放一个叹号(!)来强制展开它的值。它们的主要区别在于当可选值为空时可选链式调用只会调用失败,然而强制展开将会触发运行时错误。为了反映可选链式调用可以在空值(nil)上调用的事实,不论这个调用的属性、方法及下标返回的值是不是可选值,它的返回结果都是一个可选值。你可以利用这

2017-03-03 20:30:00 396

原创 iOS日期选择器

LWTDatePickerView简洁的日期选择器 oc版本创建 LWTDatePickerView *pickerView = [[LWTDatePickerView alloc] initWithPickerViewWithCenterTitle:@"选择期限" LimitMaxIndex:50];滚动到特定日期 [pickerView pickerViewDidSelectRow

2017-03-02 16:24:39 549

空空如也

空空如也

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

TA关注的人

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