yznote

砥砺前行

数据持久化

XML列表

直接代码 #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; //XML属性列表 NSString *path = NSHomeDirec...

阶段性整理

阶段整理 #pragma mark - 1.UILabel、UIButton //创建lable UILabel*lable=[[UILabelalloc]init]; //设置frame lable.frame=CGRectMake(60,20,200,50); lable.text=@"早安泰安"; //设置文本颜色 lable.textColor=[UIColor redColor...

PickerView

新浪博客的原始图片丢失了 新浪博客的原始图片丢失了 说明:图片是Student.h和Student.m里的代码 #import "ViewController.h" #import "StudentClass.h" @interface ViewController ()<UIPickerViewDelegate,UIPickerViewDataSource>...

警告框、提示框、时间选择器

新浪博客的原始图片丢失了 说明:蓝色字体的字是五个butoon“展示时间”是一个lable #import "ViewController.h" @interface ViewController ()<</span>UIAlertViewDelegate,UIActionSheetDelegate,UIPickerViewDelegate,UIPickerV...

Xcode添加代码片段

XCode: 如何添加自定义代码片段 我们经常会定义一些retain的property,而且大概每次我们都会像这样写: @property (nonatomic, retain) Type *name; 每次都要老老实实的把“@property (nonatomic, retain)”敲一遍,这样太累了。那么能不能像XCode自带的代码提示功能一样,每次我们只需敲两三个键,代码提...

push、present区别

场景 用UINavigationController的时候用pushViewController:animated 返回之前的视图[[self navigationController] popViewControllerAnimated:YES]; ps:push以后会在navigation的leftbar自动添加back按钮,它的响应方法就是返回。所以一般不需...

Switch

switch - (void) switchIsChanged:(UISwitch *)paramSender{ NSLog(@"Sender is = %@", paramSender); if ([paramSender isOn]){ NSLog(@"The switch is turned on."); } else { NSLo...

简易游戏

会说话的Tom猫

#import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutlet UIImageView *catImageView; - (IBAction)doCymbal:(UIButton *)sender; - (IBAction)doDrink:(UIButton *)...

单例

实例0 .m static YBRechargeType *chargeManeger = nil; +(instancetype)chargeManeger { static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ chargeManeger = [[super allocW...

协议、代码块、分类

前言 ObjC的语法主要基于smalltalk进行设计的,除了提供常规的面向对象特性外,还增加了很多其他特性,这一节将重点介绍ObjC中一些常用的语法特性。当然这些内容虽然和其他高级语言命名不一样,但是我们都可以在其中找到他们的影子,在文章中我也会对比其他语言进行介绍,这一节的重点内容如下: 协议protocol 在ObjC中使用@protocol定义一组方法规范,实现此协议的类必须实现对...

管理文件和目录

常见的NSFileManager文件方法 -(NSData *)contentsAtPath:path从一个文件读取数据 -(BOOL)createFileAtPath: path contents:(NSData *)data attributes:attr向一个文件写入数据 -(BOOL)removeItemAtPath:path error:err删除一个文件 -(BOOL)m...

文件操作

查看目录下所有文件、循环遍历递归

FileManager.m #import "FileManager.h" @implementation FileManager + (void)showFiles:(NSString *)path;{ // 1.判断文件还是目录 NSFileManager * fileManger = [NSFileManager defaultManager]; BO...

文件路径解析

文件路径 + (NSString *)pathWithComponents(NSArray *)components根据components中的元素来构建路径. - (NSArray *)pathComponents 解析路径,返回构成路径的各个部分. - (NSString *)lastPathComponent提取路径中的最后一个组成部分 - (NSString *)pathEx...

判断文件大小

单个文件的大小 - (long long) fileSizeAtPath:(NSString*) filePath{ NSFileManager* manager = [NSFileManager defaultManager]; if ([manager fileExistsAtPath:filePath]){ return [[manager attri...

阶段性整理

一.内存管理情况 1.autorelease,当用户的代码在持续运行时,自动释放池是不会被销毁的,这段时间内用户可以安全地使用自动释放的对象。当用户的代码运行告一段落,开始等待用户的操作,自动释放池就会被释放掉(调用dealloc),池中的对象都会收到一个release,有可能会因此被销毁。 2.成员属性: readonly:不指定readonly,默认合成getter和setter...

常见类(三)

集合 创建集合 NSSet *set1=[[NSSet alloc]initWithObjects:@"a",@"b",@"c",@"a", nil]; NSSet *set2=[NSSet setWithObjects:@"a",@"b",@"c", nil]; NSLog(@"set1:%@ set2:%@",set1,set2); 根据已有集合创建新的集合 NSSet *set3...

常见类(二)

创建字典的方式 NSDictionary*dictionary1 = [NSDictionary dictionaryWithObject:@"value" forKey:@"key"]; NSLog(@"dictionary1:%@",dictionary1); NSDictionary*dictionary2 = [[NSDictionary alloc]initWithObjects...

常见类(一)

简介:字符串 可变字符串、数组 可变数组 及对其操作 创建一个空的字符串 NSString *string1=[[NSString alloc]init ]; NSString *string2=[NSString string]; NSLog(@"string1:%@",string1); NSLog(@"string2:%@",string2); 创建一个字符串常量 NSStr...

OC中的类分为.h和.m .h主要做声明:成员变量、属性、方法 表示类的接口@interface .m作为函数的实现部分:实现方法 @implementation 面向对象的三大特性: 封装:隐藏内部实现,稳定外部接口; 继承:子类复用父类的成员变量、属性、方法(重写); 多态:父类对象指向子类空间 // student作为一个类存在 // []表示方法调用 eg.1. Stu...

枚举、宏

枚举、宏 #pragma mark 1 创建普通的枚举类型 #include int enumOne() { enum Season {spring=1,summer,autumn,winter}; enum Season s = summer;//或者:s=2; return s; } #pragma mark 2 模拟ios中label的文本对齐方式 voi...