自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

伟至天下的博客

分享自己的在编程道路上的成长历程,勉励自己走的更远,和大家一起共同进步。。。

  • 博客(24)
  • 收藏
  • 关注

原创 @property 后面可以有哪些修饰符?

1.线程安全的: atomic, nonatomic 2.访问权限的: readonly, readwrite 3.内存管理(ARC) assign,strong,weak,copy 4.内存管理(MRC)assign, retain,copy 5.指定方法名称: setter= getter=1.线程安全的:

2016-12-03 12:39:40 2039

原创 类的本身也是一个对象----isa指针详解

1. 类的实例对象的isa 指向该类; 该类的isa指向该类的元类 2. 类的super_class指向其父类, 如果该类为根类则值为NULL 3. 元类(metaclass)的isa指向根元类,如果该元类是根元类,则指向自身 4. 元类的super_class指向父元类,如果该元类是根元类,则指向该元类对应的类;

2016-08-31 17:26:32 2208

原创 iOS 获取沙盒下所有特定文件

-(void)getFileList{ NSString *string = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; NSArray *fileList = [[[NSFileManager defaultManager] con

2017-07-25 09:17:08 2553

原创 类与结构体的区别

一. 类型的本质不同结构体是值类型类是引用类型二。 深拷贝与浅拷贝当进行对象拷贝的时候,时候最能体现他们的本质和他们的区别了。Struct A { public int num;}A a = new A();a.num = 10;A b = a;b.num = 20;print( a.num ) // 输出结果为 a.num=10;ClassA { publ

2017-07-14 10:17:51 259

原创 iOS开发中字符串截取时出现的小问题及解决

朋友前几天跟我说一个需求,说是有几个按钮,点一下,就将按钮上的字添加到 一字符串中,再点一下就从这个字符串中删除按钮上的字。 需求不难,但在实现时我发现了几个需要注意的点,下边是代码://这样写程序有警告,而且会crash- (void)test { NSString* str1 = @"XXX"; NSString* str2 = @"I love you"; NSMut

2017-03-29 11:47:57 736

原创 iOS界面跳转过程中导航栏和tabBar的隐藏与显示

当A页面要push到B页面时我们只需要在A页面中重写以下两个方法:override func viewWillAppear(animated: Bool) { super.viewWillAppear(animated) self.navigationController?.setNavigationBarHidden(true, animated: true) } over

2017-02-04 08:57:56 4193

原创 AFNetworking学习的那些事(一)

首先把我封装的session请求献上1.BaseRequest.h//网络请求的基类// POST 、 GET 、 DELETE、PUT、HEADER、TRACE、 OPTION@interface BaseRequest : NSObject//POST请求方法+(void)postWithURL:(NSString *)url para:(NSDictionary *)para callBa

2017-01-13 17:21:50 364

原创 iOS之viewController的生命周期

一、当一个视图控制器被创建,并在屏幕上显示的时候。 代码的执行顺序:1、 alloc 创建对象,分配空间 2、init (initWithNibName) 初始化对象,初始化数据 3、loadView   从nib载入视图 ,通常这一步不需要去干涉。除非你没有使用xib文件创建视图 4、viewDidLoad       载入完成,可以进行自定义数据以及动态创建其他控件 5、viewWill

2017-01-01 23:37:57 337

原创 浅谈iOS中runtime

一、runtime机制 runtime: 指一个程序在运行(或在被执行)的状态。也就是说,当你打开一个程序使它在电脑上运行的时候,那个程序就是处于运行时刻。在一些编程语言中,把某些可以重用的程序或者实例打包或者重建成为“运行库”。这些实例可以在他们运动的时候被连接或者被任何程序调用。 objective-C中runtime:是一套比较底层的纯C语言API,属于一个C语言库,包含了很多底

2017-01-01 22:02:58 460

原创 我也来聊聊CoreData

iOS中的持久化方式一般有四种: 属性列表 对象序列化 SQLite数据库 CoreData 今天我们来重点说说CoreData 方式:定义CoreData是iOS5之后才出现的一个框架, 它提供了对象-关系映射(ORM)的功能,即 能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成OC对象. 在此数据操作期间,我们不需要编写任何

2016-12-15 21:53:11 276

原创 聊聊OC 中的Block

1.blcok的概念:闭包是一个函数(或指向函数的指针),再加上该函数执行的外部的上下文变量(有时候也称作自由变量),block 实际上就是 Objective-C 语言对于闭包的实现,在调用时才执行block中代码.2.block 的底层解析见博文http://www.jianshu.com/p/51d04b7639f1总而言之, block就是一个里面存储了指向函数体中包含定义block时的代码

2016-12-12 18:02:08 291

原创 拼图游戏也有拼不出的坑(二)

考虑N*M的拼图。 当N=M=2,穷举法可证明只有两组等价类。当N,M不同时为2时,设N不等于2(如果N等于2,M不等于2可颠倒行列讨论)。只考虑第二行最后一个元素是空元素的情形,因为空元素在其他位置总可以等价某个空元素在第二行最后一个元素的图形。不考虑空元素以之字形方式展开图形,即第一行最后一个数字和第二行倒数第二个数字相连。如:图3展开成1,2,4,5,3。下面证明两行拼图的交换方式可以实现排

2016-08-20 21:28:59 1079

原创 拼图游戏也有拼不出的坑(一)

本文讨论如何判断拼图游戏中图形是否可以还原。 例1:下图是一个3X3的数字拼图。 图1它要还原成图2图2将问题一般化,在M*N的方格里有M*N-1个不同元素和一个空元素,只有空元素可以与上下左右相邻的元素交换位置。M*N方格中M*N-1个元素和一个空元素的位置确定一个图形。拼图游戏的问题是:一个图形经过一连串的交换能否得到另一个图形,如何得到。从交换方式的可逆性看出这种关系满足等价三性质,如果图

2016-08-20 21:25:56 1300

原创 Swift编程基础之笔记总结---String

========================String========================个人总结若有疏漏,还望指点补全。【String】 Swift中的String类型是轻量级且易读 (结构体,枚举等 全为值类型)NSString 为引用类型 字符串的处理上方便一.判断是否是空串public var isEmpty: Bool { get } 例:str.isEmptyp

2016-08-02 21:46:05 381

原创 Swift基础之代理与传值(一)

合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下1、单向代理:拿今天ZG给我讲的故事开始说起吧,小新晚上一个人在家里,外边总是有异响,他被吓的睡不着,就想让他的狗狗们去门口吼两声,壮壮胆。//小新说:谁帮我去吼两声//此时小新就是委托人,他说出了自己的需求,//也就是协议protocol GoToBarkDelegate{ func bark()}//这事自

2016-07-28 22:24:42 822

原创 Swift编程基础之 剪刀石头布游戏(控制台版)

没有什么比写个最接近实际生活的事物更能提起编程的兴趣的了。所以我就将剪刀石头布用现有的知识实现了一下,特有成就感呢。下面是全部源码,直接分享给大家,希望大家可以互相交流学习。import Foundationclass Player{ //姓名 var name:String = "" //总局数 var total:Int = 0 //胜场 var

2016-07-24 20:58:24 1489

原创 Swift编程基础之数组去重 + 模拟双色球

这一篇本来就是想跟大家分享下我做的第一个小玩意–模拟双色球,但是期间会需要用到数组去重,所以我就封装了一个函数,这个去重的思路是我独立想出来的,比较简洁高效,我很引以为豪,特地分享给大家。一、数组去重函数 //删原来位置的数后,后边的数补到原来的位置,于是下次还要和原来位置的数比,于是要减 1 func removeDuplicates(inout arr:[Int]) -> [Int]{

2016-07-24 15:12:34 1237

原创 Swift编程基础之输出数组中最大值与其下标问题

最近做过的两个习题分享给大家!!!一、给定一个整形数组,将数组中最大数连同下标一起输出//方法一://定义 index 存下标 、 max 存值,循环比较 arr[i] 和max 的值 比max大 的就将其值赋给max,其下标赋给index var arr = [1,5,2,3,7,2,10,3,2,4] var max = arr[0],index = 0 for i in

2016-07-24 14:50:28 3105

原创 Swift中循环判断中的一些小细节

刚开始学编程语言中循环判断的时候,总是遇到判断是否是质数的问题,经常写不正确,后来经过仔细梳理,我才发现有这样一个小猫腻存在,切听我一一道来。我将这个问题分成了两类,一类是是否为闰年问题,一类就是是否是质数问题。为什么我要这样分类呢,看下边的代码,你自然就明白了。这里写代码片

2016-07-23 11:17:44 613

原创 Swift编程基础之排序(三)-----实战篇

通过上两篇的讲解,我们将排序的基础就基本说完了,那么我们加上循环向下推广就会推出排序算法。Come on!1、选择排序// 选择排序是指每执行一次,会将数组元素最小(升序)或最大的元素(降序)放到正确位置/* 选择排序(两两相比,第一次会固定一个元素,然后比较根据需求进行从小到大或从大到小的交换) var arr = [9,6,4,3,1] //升序

2016-07-23 09:20:24 444 1

原创 Swift编程基础之排序(二)

【 循序渐进,戒骄戒躁,脚踏实地,方成大器。】 那么我们接着上篇最基本的循环比较大小之后,我给大家介绍两个在排序中的小技巧:1、使用假设法:

2016-07-23 08:54:50 286

转载 iOS开发笔记之UTF8编码

今天博主有一个字符转码的需求,遇到了一些困难点,在此和大家分享,希望能够共同进步.以下是个人的总结,有需要的可以借鉴下:ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是25

2016-07-22 20:48:13 2924

原创 Swift编程基础之排序(一)

任何复杂的东西都是从最简单最基本的知识发展延伸而来。所以我们要想学好排序,第一步自然就是要比大小:一、两个数比较大小://两个数比较结果#if falsevar a = arc4random()var b = arc4random()if a > b{ print(a)}else if a < b{ print(b) }else{ print("a =

2016-07-19 13:04:36 384

原创 Swift初学入门之控制台输入函数

控制台输入函数

2016-07-17 15:22:56 4080

空空如也

空空如也

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

TA关注的人

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