C/C++/ObjectC上路
vigiles
威格灵
展开
-
C27_OC17-日期类型NSDate
#import int main(){ // 0时区当前时间 NSDate * date = [NSDate date]; // 代码运行到这一行的时间 // 比date晚5秒的时间 NSDate * date2 = [NSDate dateWithTimeInterval:5 sinceDate:date]; // 从1970年开始到d原创 2014-05-11 17:03:09 · 1039 阅读 · 0 评论 -
C26_OC16-OC类型包装
1.NSNumber#import int main(){ /** NSNumber包装int、float、double、... **/ NSNumber * num1 = [NSNumber numberWithInt:10]; NSNumber * num2 = [NSNumber numberWithFloat:453.5]; NSNumber * n原创 2014-05-11 17:01:16 · 1172 阅读 · 0 评论 -
C25_OC15-OC集合类
1.NSArray数组2.NSMutableArray可变数组3.NSSet#import int main(){ // NSSet无序存储 NSSet * set1 = [NSSet set]; // 空 NSSet * set2 = [NSSet setWithObjects:@"aaaa", @"bbbb", @"cc原创 2014-05-11 16:58:56 · 1695 阅读 · 0 评论 -
C24_OC14-NSString字符串
1.NSString和文件操作2.NSMutableString原创 2014-05-11 16:53:12 · 1278 阅读 · 0 评论 -
C23_OC13-Foundation内置的常用结构体
这些都是typedef struct XXX定义的。可能需要添加CoreGraphics框架。1.NSRange区间如同Groovy中的range。NSRange是一个结构体,即struct。2.NSPointd/CGPoint点-坐标NSPointd、CGPoint是一样的,但CGPoint跨平台。3.NSSize/CGSize大小尺寸原创 2014-05-11 16:46:11 · 1518 阅读 · 0 评论 -
C22_OC12-protocol协议
类似Java的接口,用于声明若干方法。一个父类遵守了此协议(实现此接口),子类也默认遵守。NewFile,OSX,Cocoa,Objective-C Protocol。1.基本使用1)协议//// 父协议:MyProtocol.h//#import /** 协议关键字 协议名 OC中的基协议和基类重名,都是NSObject**/原创 2014-05-09 19:51:38 · 1633 阅读 · 0 评论 -
C21_OC11-block代码块
#import typedef int (^BlockProduct) (int, int); // 乘积typedef int (^BlockQuotient) (int, int); // 商int main(){ // 局部变量 int nm = 99; // 使用__block标注变量,这样就可以让Block操作了 __block in原创 2014-05-09 19:46:59 · 963 阅读 · 0 评论 -
C20_OC10-内存管理
每个对象都有一个隐式的int类型计数器,占4个字节内存。对象诞生(使用alloc或new、copy创建对象)时默认计数为1;每增加一个调用,计数器加1;当计数器为0时,对象销毁,内存回收。retain 计数器+1release 计数器-1retainCount 计数器值销毁方法:dealloc。如果计数器值为0,则调用此方法销毁对象。如果重写此方法,则最后须调用[supe原创 2014-05-09 19:43:31 · 1620 阅读 · 0 评论 -
C19_OC09-方法的类型SEL
#import @interface Persion : NSObject- (void) test;@end@implementation Persion- (void) test{ // _cmd是一个SEL类型的常量,保存当前方法地址。每个方法都内置这个属性 // 如同: SEL _cmd = @selector(test); NSLog(@"还是SEL原创 2014-05-05 23:09:06 · 1039 阅读 · 0 评论 -
C18_OC08-load、initialize、description
/** 前文中的“类”,就是“类对象” 类对象的类型叫Class-类(看到这个单词,似乎有种Java的亲切感) 前文中的“对象”,就是“实例对象” 实例对象的类型叫类 程序启动时,会加载全部的类(原类)和分类(增强类),加载完毕会执行一次且仅一次各类的load 程序启动后,当第一次调用某个类(类对象)时,会执行一次且仅一次其initialize方法**/#import原创 2014-05-05 23:08:24 · 1394 阅读 · 0 评论 -
C17_OC07-Category分类:增强模式
category:分类、类别、类目。1.基本使用1)普通类:2)增强类:/* 文件:Jackman+Wolverine.h 项目:ocstudy 作者:vigiles 日期:14-5-4 Copyright (c) 2014年 itcast. All rights reserved. *//** Category意为类别、分类,原创 2014-05-05 23:03:54 · 1252 阅读 · 0 评论 -
C16_OC06-id关键字和构造方法
1.id关键字2.构造方法原创 2014-05-05 22:56:44 · 961 阅读 · 0 评论 -
C15_OC05-@property和@synthesize
运行XCode5.1,创建项目,OSX版,CommanLineTool。完成后,新建文件,OSX,Cocoa,ObjectC-Class。以下测试在终端使用cc命令会报警,但运行无错。1.隐式setter和getter的自动完成1)h文件2)m文件3)main2.预定义属性和隐式getter、setter1)h文件#impor原创 2014-05-03 23:09:12 · 1579 阅读 · 0 评论 -
C14_OC04-面向对象三大特性
封装、继承、多态1.封装1)set/get方法#import @interface Persion : NSObject { //@public - 对象实例可直接访问的 //面向对象:内部结构不应暴露 //成员变量应尽量使用set/get方法操作 int age; } - (原创 2014-05-02 20:29:48 · 938 阅读 · 0 评论 -
C13_OC03-面向对象
1.从类到对象的调用2.对象和自定义函数3.OC的函数和对象方法#import /* 方法的声明必须写在main之前-使用之前 */@interface Persion : NSObject /* OC对象的方法只能在定义类时声明。属于面向对象的范畴 以+、-开头 返回值类型使用()包裹原创 2014-05-01 09:42:59 · 985 阅读 · 0 评论 -
C12_OC02-OC较C的不同
1.关键字@catch、@class、@dynamic、@end、@finally、@implementation、@interface、@optional、@private、@property、@protected、@protocol、@public、@required、@selector、@synthesize、@throw、@try、id、self、super、_cmd、__bloc原创 2014-05-01 09:35:17 · 1090 阅读 · 0 评论 -
C11_OC01-ObjectC-HelloWorld
环境搭建:http://my.oschina.net/vigiles/blog/141689原创 2014-05-01 09:29:21 · 1393 阅读 · 0 评论 -
C10_C语言-extern和static
1.关于函数1)在头文件定义函数#ifndef _MYH_H_#define _MYH_H_#include extern void funcMY();//声明自定义函数extern void funcMY(){printf("funcMY:外部函数,内外皆可访问\n");}#endif2)在源文件定义函数#include原创 2014-04-25 13:44:40 · 1383 阅读 · 0 评论 -
C09_C语言-typedef类型自定义
预处理语句 #define A B,表示编译阶段把后文中全部的A换成B。typedef为复杂的声明定义简单的别名,如:typedef AAAAA B,可理解为运行阶段把全部的B换成AAAAA。1.各种使用#include typedef int MyInt;//1.类型定义,给int取一个别名-同义词typedef MyInt MyNewInt;//1.给自定义类型原创 2014-04-25 13:36:40 · 985 阅读 · 0 评论 -
C08_C语言-宏、条件编译、文件包含
1.宏1)不带参数的宏/* * 代码编译为0和1之前执行的语句叫预处理语句。 * 预处理指令以#定义 * 第一种:文件包含,#include * 第二种:宏定义,#define。#define A B,表示把后文中全部的A换成B * 宏的生命:无论定义于何处,从定义的一行开始,直到文件结尾,除非遇到#undef。 * 1.不带参宏。 * 2.带参的宏。 *原创 2014-04-25 13:31:27 · 1299 阅读 · 0 评论 -
C07_C语言-结构体、枚举
1.定义结构体#include /* * 构造类型:数组(数据类型单一)、结构体(数据类型可多种) */void main() {//结构体声明(固定关键字) 结构体类型名(自定义名称)struct Person{int age;char *name;}p; //同时声明一个结构体变量p.age = 90;p.name = "Personp";p原创 2014-04-23 16:18:50 · 1276 阅读 · 0 评论 -
C06_C语言-变量作用域
#include /*全局变量:作 用 域:当前文件中从定义的这一行,到文件结尾可用生命周期:程序启动到程序退出*/int w; //全局变量有默认初始值,int类型默认初始值为0void changeW(){/*局部变量:作 用 域:在函数内定义的变量(和形参),作用域仅在这个函数代码块中生命周期:从定义的这一行开始,到代码块结束*/w =原创 2014-04-23 10:09:54 · 827 阅读 · 0 评论 -
C05_C语言-指针
1.声明创建2.指向指针的指针3.指针与数组/字符串4.指针与函数原创 2014-04-23 00:59:49 · 849 阅读 · 0 评论 -
C04_C语言-字符串
1.声明创建2.strlen函数原创 2014-04-22 23:54:37 · 882 阅读 · 0 评论 -
C03_C语言-数组
1.声明和初始化2.数组作为函数参数//参数类型为整型数值void intChange(int arg){arg = 9090;}int main() {int array[] = {3,4,4,5};arrChange(array); //实参,数组名代表地址printf("%d \n", array[1]);//99intChan原创 2014-04-20 17:11:06 · 856 阅读 · 0 评论 -
C02_C语言基础
1.关键字、标示符、注释1)关键字都是小写的auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef uni原创 2014-04-18 23:42:40 · 1314 阅读 · 0 评论 -
C01_Win下用Eclipse搭C/C++环境
1.安装MinGW1)下载解压http://pan.baidu.com/s/1gdsYlsZ 2)稳定包3)组件4)环境变量MINGW_HOMEE:\win7programs\MinGWPATH%MINGW_HOME%\binC_INCLUDEDE_PATH%MINGW_HOME%\includeCPLUS_INCLUDE_P原创 2014-04-17 10:44:34 · 797 阅读 · 0 评论