自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 关于iOS多线程

在 iOS 中其实目前有 4 套多线程方案,他们分别是:PthreadsNSThreadGCDNSOperation & NSOperationQueue

2016-03-17 16:32:27 519

原创 iOS Masonry的使用

Masonry 源码:https://github.com/Masonry/Masonry 也可以使用CocoaPods直接下载MasonryMasonry是一个轻量级的布局框架 拥有自己的描述语法 采用更优雅的链式语法封装自动布局 简洁明了 并具有高可读性 而且同时支持 iOS 和 Max OS X。我通过3个小例子简单介绍一下Masonry的使用方法实例1: UIView *blackV

2016-01-09 17:57:36 730

原创 Swift 写个简单的UITableView

import UIKit //签协议class ViewController: UIViewController , UITableViewDataSource, UITableViewDelegate{ var myTableView :UITableView? override func viewDi

2016-01-09 10:52:10 467

原创 Swift UIScrollView滚动视图/无限循环滚动/自动滚动

之前用OC写了UIScrollView,这次用Swift写的,写的不好多担待,O(∩_∩)O~ //先签一下协议class ViewController: UIViewController , UIScrollViewDelegate { //Swift没有宏定义,只好定义常量来代替宏定义 let SCRO

2016-01-09 10:04:50 5983 1

原创 iOS NSURLSession网络请求(get/post/下载)

NSURLConnection在iOS 9.0以后就废弃了DEPRECATED deprecated废弃的意思NSURLSession 已经代替了NSURLConnection 功能上差不多.NSURLSession使用起来更方便,支持下载和上传文件,断点续传等使用起来很方便苹果将每次请求都定义为一个任务NSURLSessionDataTask 是请求普通网络数据的任务类NSURL

2016-01-06 20:17:21 828

原创 Swift 扩展

//扩展//在现有类和结构体的基础上,扩展新的功能//计算属性extension Double { var km: Double { return self*1000 } var m: Double { return self } var cm: Double { return self / 100

2015-12-31 09:16:08 384

原创 Swift  构造器(Initializer) & 析构器

//构造器(Initializer)//为了初始化结构体和类等类型的实例属性//默认构造器struct Fash { var temperature: Double init() { temperature = 32.0 }}var f = Fash() //调用默认构造器init(),没有参数没有返回值//var ff = Fash(temper

2015-12-31 09:13:34 460

原创 Swift 继承

//定义基类class Veh { var number: Int var max: Int func descrip() -> String { return"\(number)----\(max)" } //init()是构造器,在实例化这个类的时候调用它 init() { number = 0 m

2015-12-30 08:51:31 297

原创 Swift 属性

//属性:主要作用是存储数据,可以常量属性和变量属性struct Fix { var first : Int let len : Int}var rang = Fix(first: 0, len: 3)//let rangs = Fix(first: 0, len: 3)//let类型 初值一旦指定便不可修改rang.first = 6print(rang)//延时存储

2015-12-30 08:45:02 311

原创 Swift 方法

方法:是与特定类型(类和结构体)相关的函数//实例方法:隶属于某个特定类型(类或结构体)实例函数class Counter { var count = 0 func increment() { count++ } func incrementB(amount: Int) { count += amount } func

2015-12-30 08:41:31 294

原创 iOS AutoLayout代码版

- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. //aView UIView *aView = [[UIView alloc] init]; aView.backgroundCol

2015-12-29 11:56:45 288

原创 Swift  类和结构体

//类和结构体共性: //定义属性存储数据 //定义方法执行功能处理 //定义下标,通过下标访问他们的值 //初始化他们的状态 //通过扩展(Extension) 扩展其功能 //遵守协议(Protocol),协议提供一种特定的标准功能//类比结构体多出的

2015-12-29 11:51:35 313

原创 Swift  函数

//函数//使用func定义一个函数.调用函数使用它的名字加上小括号中的参数列表. 使用->分隔参数的名字和返回值类型//函数声明func greet(name:String, day:String) -> String { return "hello \(name), today is \(day)"}//函数调用print(greet("Tom", day: "Tuesday

2015-12-29 09:14:56 395

原创 iOS Quartz 2D 绘制图形(线段\三角形\矩形\圆\圆弧等)

Quartz 2D是一个二维绘图引擎,Quartz 2D 的API是C语言, 来自于CoreGraphic框架, 没有面向对象的思想 1.作用:绘制图形 : 线段\三角形\矩形\圆\圆弧等 绘制文字 绘制\生成图片(图像) 读取\生成PDF 截图\裁剪图片 自定义UI控件2.图形上下文 (Graphics Context) :

2015-12-29 09:09:06 1237

原创 Swift  循环语句

//1.whilevar t = 100var u = 0var o = 0var v = 0while t < 1000 { u = t / 100 o = (t - u * 100) / 10 v = t - u * 100 - o * 10 if (t == u * u * u + o * o * o + v * v * v) { pr

2015-12-28 09:04:17 421

原创 Swift 分支语句

//1.if-else语句var num1 = 0var num2 = 1var mm = 0if num1 > num2 { mm = num1}else { mm = num2}print("mm = \(mm)")//2.多分支语句switch//例1:let someC: Character = "e"switch someC {case "a", "d

2015-12-28 08:58:27 291

原创 Swift 字典

//字典//[key1 : value1 , key2 : value2 ......]var air: Dictionary<String,String> = ["T":"Tokyo","D":"Dublin"]print(air)print(air.count)//字典追加air["L"] = "London"print(air)//字典删除if let removedValue

2015-12-28 08:55:17 246

原创 Swift 数组

var shop: [String] = ["1","2","3"]shop.append("4")shop += ["5","6","7"]print("\(shop)")//count属性:计算数组个数print("数组个数:\(shop.count)")//数组元素的插入//insert(插入的元素,atIndex:插入的坐标)shop.insert("8", atIndex:

2015-12-26 17:27:35 249

原创 Swift 可选类型

//可选类型 //在以下情况使用可选类型 //它有值但不确定 //没有任何值//我们可以为可选类选得变量设置nil值,表示没有任何值//注意需要在变量类型后面加问号(?)。如果是Int加问号(?),则变量的为Int?型的。问号(?)是可选类型的标志。

2015-12-26 17:25:26 305

原创 Swift 元祖类型

//元祖类型 //元祖将多个值组合为单个值,元祖内的值可以是任意类型,各元素不必是相同的类型.元祖在作为函数返回值时尤其有用

2015-12-26 17:22:06 417

原创 Swift 字符串

//字符串var str = "nihao"print(str)//空值var emptyString = "" //空串初始化var anotherEmptyString = String() //通过初始化函数初始化//空值判断if emptyString.isEmpty{ print("Nothing")}//var声明可以修改,let不可以修改var varStr

2015-12-26 17:20:46 231

原创 Swift 数据类型转换

//数据类型转换let one : UInt8 = 1let two : UInt16 = 2000let twoToOne = two + UInt16(one)//let twoToOne = UInt8(two) + one //不允许print(twoToOne)//在swift里不允许把大的转成小的,防止精度丢失//整型与浮点型转换let three = 3let four

2015-12-26 17:18:16 275

原创 Swift 基础语法

自学了一下Swift,觉得Swift写法果然很简洁,有C语言或者C++或者OC等编程语言基础的应该很容易就接受了//let声明常量 //var声明变量let max = 10 var cur = 100//max = 20;//常量不能被改变 print(max,cur)var i = 20 print(i++) //if 语句不用加括号 if i > 10 { print(“

2015-12-26 17:16:57 218

原创 iOS UIScrollView滚动视图/无限循环滚动/自动滚动

我是在UITableView的表头里创建的滚动视图#define WIDTH [[UIScreen mainScreen] bounds].size.width#define HEIGHT [[UIScreen mainScreen] bounds].size.height@property (nonatomic, strong)NSTimer *timer; //定时器@property (no

2015-12-19 19:58:38 6308

原创 iOS 引导页

引导页是每个App都需要的,虽然它只在第一次打开App的时候才显示.下面我就讲一下怎么制作一个简单的引导页.新建一个UIViewController,用来写引导页 在这个引导页的ViewController里,导入头文件 #import “AppDelegate.h"然后就可以铺界面了,引导页有横滑和竖滑的,我这里做的是横滑的.@interface LSStartViewController (

2015-12-19 11:43:10 369

原创 iOS 消息通知

简单写了一个通知的demo,通过以下代码可以简单了解一下我新建了3个UIViewController,分别命名为FirstViewController , SecondViewController , ThirdViewController 并在AppDelegate里设FirstViewController为根视图FirstViewController//FirstViewController.

2015-12-18 11:47:24 328

原创 iOS UISegmentedControl分段按钮

实现如图效果类似手机QQ页面上面的分段按钮.我在UIViewController里写的这个控件,并且新建了两个UIView页面,一个红色,一个绿色,点击第一个按钮显示红色页面,点击第二个按钮显示绿色页面代码如下:#import "RootViewController.h"#import "RedView.h"#import "GreenView.h"@interface RootViewCon

2015-12-16 21:06:05 492

原创 iOS UIAlertController提示框

UIAlertController实现如图效果我设置了一个按钮,在按钮的点击事件里写的以下代码:- (void)action:(UIButton *)btn{ //创建提示框 UIAlertController *ac = [UIAlertController alertControllerWithTitle:@"这里" message:@"成功" preferredStyle:UI

2015-12-16 20:47:16 388

原创 iOS AFNetworking请求数据(get/post)

AFNetworking 是常用的网络请求第三方,下面我就写一下用AFN进行get请求和post请求我把AFN单独封装到了一个类里,并写在了一个+号方法里,以便调用.GET//AFN请求数据+(void)getDataWithURL:(NSString *)url blcok:(AppToolsBlock)blcok{ //如果网址中有中文需要使用 : 中文编码 NSString *

2015-12-15 18:08:12 2229

原创 iOS 获取系统当前时间

//获取系统当前时间 NSDate *currentData = [NSDate date]; //设置时间格式 NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"]; //data转化成字符串

2015-12-15 17:32:59 237

原创 iOS 协议代理

在做项目的时候,传值是经常遇到到了,而传值的方法也是多样的,其中,协议/代理就是一种常常用到的传值方式. 什么情况用协议? 第一个类里创建了第二个类的对象,并给第二个类传值 当第二个类的对象想控制第一个类里的方法或给第一个类传值,必须用协议下面就用代码简单描述一下:我创建了一个RootViewController,并把RootViewController

2015-12-11 19:35:46 360

原创 iOS KVC 和 KVO 简单论述

KVC : key value code 键值编码: 间接给属性赋值(系统属性,自定义属性都可以) KVO:key value observing 键值观察者 , 是用来观察属性值变化的,不仅可以观察自定义类的属性,也可以观察系统的属性值变化下面就用代码看看:新建两个类,Person和Student//Student#import <Foundation/Foundation.h>@inter

2015-12-11 10:14:03 338

原创 iOS UICollectionView瀑布流

UICollectionView和UITableView一样,在项目里会经常使用,下面我就简单介绍下UICollectionView的一些基本属性和使用方法.我不仅铺了UICollectionView,还尝试铺了一下UICollectionView的表头,不需要的可以不铺.//在viewController里铺一个collectionView,并设置collectionView的表头,collect

2015-12-11 09:01:29 1061

原创 iOS 遇到过的bug(未完待续)

做项目的时候,常常出现一些bug,导致程序crash,有时被这些bug搞得自己都快crash了.下面我大约整理了下我遇见过的bug,有些还是比较常见的.程序crash了,不要着急,看清楚崩溃信息,其实很容易就找到原因了,打全局断点也是一个很好的办法,但是全局断点并不能100%帮你找到错误源头,有时也是定位不到崩溃位置的,那就只能看崩溃信息了.1. 比较常见的就是 这个信息应该是最常见的,当你没有

2015-12-10 21:12:42 517

原创 iOS Label自适应高度/宽度 , 图片自适应

项目里许多地方都需要自适应Label上文字的高度,所以可以吧自适应高度的代码单独封装起来,写在一个类里,这样在其他的类里想调用这个方法,就可以直接使用,不用每个类都写一遍这个方法.我把这个类起个名字叫SizeForLabel//SizeForLabel.h@interface SizeForLabel : NSObject+(CGSize)labelRectWithSize:(CGSize)si

2015-12-09 21:25:31 3279

原创 iOS 简单使用Block回调

创建两个ViewController,RootViewController和FirstViewController,将RootViewController设为根视图//FirstViewController.h#pragma mark -知识点 block回调第一步:重定义block类型//将系统现有的类型定义一个别名 : typedef NSInteger INT;//FirstBlock 是

2015-12-08 20:44:05 702 2

原创 C语言 打印小星星*

C语言打印这个样式 * *** ***** ******* int i; int j; int t; for (i = 1; i <= 4; i++) { for (j = 4; j > i; j--) {

2015-12-05 09:51:46 1268

原创 C语言 字符串常用函数(计算长度,拷贝,拼接,比较)

strlen() 计算字符串长度(打印的是能看见的字符长度;sizeof()打印的是字符串物理长度,默认算上’\0’)char testLen[] = "hello world"; unsigned long count = strlen(testLen); printf("%lu\n", count);strcpy() 字符串拷贝:把后面的字符串拷贝给前面的字符

2015-12-05 09:44:16 1466

原创 iOS UISlider简单使用

//我把View封装到了RootView,在viewController里初始化 RootView *rootV = [[RootView alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; [self.view addSubview:rootV]; [rootV release];在封装起来的View里//初始化-

2015-12-03 12:01:01 418

原创 iOS 圆形按钮(或图片)

UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; btn.frame = CGRectMake(50, 50, 60, 60); btn.backgroundColor = [UIColor redColor]; //半径 btn.layer.cornerRadius = 30; //裁

2015-12-03 10:40:20 3252

空空如也

空空如也

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

TA关注的人

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