- 博客(27)
- 收藏
- 关注
原创 swift中访问控制(fileprivate,private,internal,public,open)
1,private private访问级别所修饰的属性或者方法只能在当前类里访问。2,fileprivate fileprivate访问级别所修饰的属性或者方法在当前的Swift源文件里可以访问。如果只在一个文件中,即使不在一个类中也是可以调用的3,internal(默认访问级别,internal修饰符可写可不写) internal访问级别所修饰的属性或方法在源代码所在的整个模块都可以访问。
2017-05-15 11:03:20 379
转载 深拷贝与浅拷贝
copy/mutableCopy NSStringNSString *string = @"汉斯哈哈哈";// 没有产生新对象NSString *copyString = [string copy];// 产生新对象NSMutableString *mutableCopyString = [string mutableCopy];NSLog(@"string = %p copySt
2017-02-14 15:18:36 298
转载 http协议浅谈
HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。HTTP协议的主要特点可概括如下:1.支持客户/服务器模
2015-04-08 15:57:02 518
原创 虚函数,纯虚函数,多态的一些理解
定义一个函数为虚函数,不代表函数为不被实现的函数。定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。 定义一个函数为纯虚函数,才代表函数没有被实现。定义他是为了实现一个接口,起到一个规范的作用,规范继承这个。类的程序员必须实现这个函数。
2014-05-07 16:22:03 643
原创 Objective-C 添加私有方法
在面向对象的开发中,一个很重要的原则就是不要暴露不需要暴露的东西。 在Objective-C中,在头文件中你只能声明类方法和实例方法,这意味着你所有的方法都要暴露在外边。其实在Objective-C中也可以来声明一个私有方法,这个方法只有本类可见,其他任何类都看不到,即使是继承于这个类的其他子类也无法看到。 方法也比较简单。
2014-04-11 18:31:50 852
转载 为什么delegate 用 assign 而不使用 retain
循环引用所有的引用计数系统,都存在循环应用的问题。例如下面的引用关系:对象a创建并引用了对象b.对象b创建并引用了对象c.对象c创建并引用了对象b.这时候b和c的引用计数分别是2和1。当a不再使用b,调用release释放对b的所有权,因为c还引用了b,所以b的引用计数为1,b不会被释放。b不释放,c的引用计数就是1,c也不会被释放。从此,b和c永远留在内存中。这种情况,必须打断循
2014-04-11 13:51:55 583
原创 iOS随笔(二)
这里主要把我遇到的小问题再写三个出来。1)iOS获取当前日期的方法有时候我们需要获取系统当前的日期来做一些操作,用下面这个方法: NSDateFormatter* dateFormatter = [[NSDateFormatteralloc] init]; [dateFormatter setDateStyle:NSDateFormatterFullStyle]
2014-03-31 10:10:13 802
原创 iOS小随笔
把平常遇到的一些小技巧和令人忽略的地方记下来,大家一起分享和共勉。这里写2个小问题.1) 在加载静态界面时。最明显的例子加载一个自定义cell的tableView。最好在你的自定义cell的.m文件中的init方法中加入者2行代码。[self.layersetShouldRasterize:YES]; [self.layersetRasterizationScale:
2014-03-18 14:55:03 1002
原创 自定义MPMoviePlayerController(手势控制提高音量和进度)
使用系统自定义的 MPMoviePlayerController。实现手势向上下滑动提高(降低)音量,手势向左右滑动控制快进和快退#import @interface KKBMoviePlayerController : MPMoviePlayerController@end#import "KKBMoviePlayerController.h"#import "AppDeleg
2014-03-18 14:29:26 5461
原创 iOS随笔之获取可用空间及某个文件或文件夹的大小
最近要做一个下载视频的功能,要用到设备已用空间和剩余空间这个需求,在网上mark了下,自己实现了这几功能1.获得设备剩余空间大小的方法-(void)checkUsedDisk{ NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask , YES) obj
2014-03-05 14:43:38 1742
原创 对iOS中序列化的一些理解(写入文件)
这周要往程序中加入缓存,最后决定用序列化直接将对象存入文件充当缓存。我使用的是archiveRootObject这个方法使用的序列化。archiveRootObject可以将IOS常见的NSData,NSArray等写入文件,也可以将你自己定义的类型(必须实现了序列和凡序列化的,即遵循NSCoding协议,encodeWithCoder和initWithCoder:方法)写入文件。
2014-02-21 16:29:43 1000
原创 分享一个自定义的中间凸起的tabBar
曾经遇到这样的需求,为了凸显中央选项卡的重要性,需要将tabbar的最中间的选项卡高度与其他的不同。为了实现这样的需求,用系统自带的tabbar是不能实现的。首先想过底部用自带的tabbar,然后中间放一个高出一块的图片button来实现,可是后来发现不可行,无法做到使选项卡栏隐藏后同步消失的问题。于是就重写了一个tabbar来实现上述的功能。这个demo我放到了github上ht
2014-02-12 16:24:02 5336 3
原创 iOS中UITableView学习笔记(二)之cell重用
在学习笔记(一)中降到了如何创建一个cell和自定义cell。这里讲一下UITableViewCell的重用机制。UITableView会通过重用cell来达到节省内存的目的:通过为每个cell指定一个重用标识符(reuseIdentifier),即指定了单元格的种类,当cell滚出屏幕时,会将滚出屏幕的单元格放入重用的queue中,当某个未在屏幕上的单元格要显示的时候,就从这个queue中取
2014-02-11 10:22:05 1044
原创 iOS中单例的用法
我们有些时候需要某一个实例贯穿程序始终,在多线程中经常用到单例。这里讲一下单例的用法。 单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。显然单例模式的要点有三个;一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。单例模式有2个优点一个是实例控制:Singleton 会
2014-02-10 16:59:14 770
原创 对iOS中内存处理的一些理解(retain,copy,assain,release,autorelease)
众所周知,iOS对内存的处理是很出色的,正因为它对内存的处理优化非常好,所以在有限的内存下系统运行的流畅性一直很不错。这里就对编程中对iOS里的retain,copy,assain,release,autorelease说一下我的个人理解。assign就是直接赋值,当数据为基础数据类型 (NSInteger,CGFloat)和C数据类型(int, float, double, char)时
2014-02-10 10:15:30 1301
原创 iOS中UITableView学习笔记(一)
下面将会对UITableView这个在开发中基本都会用到的控件做一个详细的剖析和解释。这是一个专题,一篇文章当然是讲不完的。所以以后还会有好几篇文章专门去讲它。如果有一些代码或者demo的话,短的就直接粘过来了。或者会发到GitHub上。我刚开始接触的时候也是对tableView不是很了解。也是在网上找一些demo放过来直接用。后来接触的多了,慢慢就会去专研里面的东西。所以我奉行实用主义,用的多了
2014-01-27 16:40:45 937
原创 关于UILabel自适应位置和高度大小的问题
好多朋友都对ios中不能自定义UIlabel不满,希望UIlabel能像安卓中那样可以根据文字长度和大小来自适应长度它的frame。提出这样的需求基本是设计人员提出的。因为当我们将UILabel自适应后,就可以在它后面加个小标示了,小图片了一类的。例如新浪微博的会员标识。就是跟在你用户名后面随着你用户名的长度和随时改变的。好了。闲话不多说,上代码。NSString *str = @"dfdsg
2014-01-27 10:39:40 1323
转载 正则表达式全部符号解释
from:http://yirlin.cnblogs.com/archive/2006/04/12/373222.html字符描述\将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\n' 匹配一个换行符。序列 '\\' 匹配 "\" 而 "\(" 则匹配 "("。
2014-01-26 11:48:48 487
原创 分享一段ios中使用数据库的代码(创建,升级,增删改查)
这里有数据库的创建,升级,增删改查。以聊天信息作为例子演示chatInfo是存储聊天信息的类#import #import "sqlite3.h"#import "User.h"#import "ChatInfo.h"@interface DBHelper : NSObject{ sqlite3* db;//数据库句柄// @public DBHelper *inst
2014-01-26 11:37:55 764
原创 在ios中的按比例图片裁剪(自动根据你的imageView裁剪图片)
在我们写程序中,UIImageView 主要有fit(自动适合)和fill(全部铺满)2种。可如果你的imageView的大小与你拿到的图片尺寸不符合,(本地图片还好说,让美工做符合的图片就行了。如果是从服务器,例如优拍云上获取图片)如果使用fit,不会填满你的imageView,要是使用fill,图片会拉伸变形。这都是不可以的。所以我们可能会需要一个裁剪图片的函数,让它能够根据我的imageVi
2014-01-26 10:54:05 12168 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人