08 2015 档案
摘要:UIButton的详细介绍:一、按钮具有的属性:@property(nonatomic,readonly)UIButtonType buttonType; //按钮形状类型@property(nonatomic,readonly,retain)NSString*currentTitle; //按钮当...
阅读全文
摘要:工具栏:ToolBar工具栏项目:Bar Button Item调节按钮位置的固定调节:Fixed Space Bar Button Item调节按钮位置的灵活调节:Flexible Space Bar ButtonToolBar工具栏是视图View的属性,可以在工具栏上添加工具栏按钮Bar But...
阅读全文
摘要:UIToolBar控件:是经常使用的一个工具条控件,虽然在上面可以添加子控件,但是toolbar中只能添加UIBarButtonItem类型的子控件,其他子控件会被包装成这种类型的,例如UIButton。通过工具栏可以用来对视图View中内容进行操作。原理:可以在toolBar上添加任何子控件。其实...
阅读全文
摘要:选择器控件UIPickerView: 功能:它能够创建一个类似于密码锁式的单列或多列的选择菜单,用户可以通过它设置的代理来选择需要菜单中的任意的数据。例如创建日历、字体表(类型、大小、颜色)、图库等. 它是UIView视图的子类,而且遵从UIPickerViewDelegate协议和UIPicker
阅读全文
摘要:主要功能:UIContol(控件是所有控件的基类 如:(UIButton)按钮主要用于与用户交互,通常情况下我们不会直接使用UIControl,而是子类化它。常用属性:BOOL enabled 空间默认是启用的,要禁用控件,可以将enabled属性设置为NO,这样将导致控件会略任何触摸控件事件。...
阅读全文
摘要:通过UIPickerView选择器做的一个类似于密码锁的日期时间表 源码如下: 1 #import 2 3 @interface ViewController : UIViewController 4 @property (strong,nonatomic) NSArray *weeks;//显...
阅读全文
摘要:NSDate:时间的获取和操作1、获取当前时间1 //获取当前日期2 NSDate *date = sender.date;3 NSLog(@"%@",date);2、将date转换为字符串并格式化1 //date转字符串2 NSDateFormatter *fo...
阅读全文
摘要:步进UIStepper、滑动块UISlider:当它们作为事件,被触发时,它们的值会发生改变。正因为如此,触发该事件时,可以一张一张翻阅浏览图片,,,,步进UIStepper:@property(nonatomic) double minimumValue; // default 0...
阅读全文
摘要:NSBundle介绍:它是一个单例类,用来加载资源bundle是一个目录,其中包含了程序会使用到的资源. 这些资源包含了如图像,声音,编译好的代码,nib文件(用户也会把bundle称为plug-in). 对应bundle,cocoa提供了类NSBundle.我们的程序是一个bundle. 在Fin...
阅读全文
摘要:初步接触视图,制作了一个简易的计算器,基本上简单的计算是没有问题的,不是很完美,可能还有一些bug,再接再厉。 1 // 2 // ViewController.m 3 // 计算器 4 // 5 // Created by ma c on 15/8/25. 6 // Copy...
阅读全文
摘要:一、UIView常见属性(1)@property(nonatomic,readonly)UIView *superview; //获取自己的父控件对象(2)@property(nonatomic,readonly,copy)UIView *subviews;//获取自己的所有子控件对象(3)@pro...
阅读全文
摘要:运算符重载函数:实现对象之间进行算数运算,(实际上是对象的属性之间做运算),包括+(加号)、-(减号)、*、/、=、++、--、-(负号)、+(正号)运算符重载函数分为:普通友元运算符重载函数、成员友元运算符重载函数、成员运算符重载函数运算符运算符重载函数按运算类型为:双目运算符重载函数,如加、减、...
阅读全文
摘要:IO文件中,一些对目录进行操作的函数:获取、切分、组合一些对目录进行操作的函数:获取用户的姓名:(NSString*)NSUserName() ; ———>NSString *Str = NSUserName()获取home目录路径:(NSString*)NSHomeDirectory()获取临时...
阅读全文
摘要:可以通过改变当前文件的偏移量来实现文件的读取
阅读全文
摘要:1 // main.m 2 3 // 03-copyFile 4 5 // Created by ma c on 15/8/24. 6 7 // Copyright (c) 2015年. All rights reserved. 8 9 #import 10 11 int main(int argc, const char * argv[]) 12 13...
阅读全文
摘要:NSFileHandle类:它需要配合NSFileManager文件管理类,对文件内容进行操作,写入数据、读取数据。使用步骤: 1、打开文件获取NSFileHandle类的对象 2、进行文件的I/O操作 3、关闭文件 1 // 2 // main.m 3 // 02-NsFileHandl...
阅读全文
摘要:文件管理类NSFileManager类:对文件进行创建、复制、重命名、删除等,一般不对文件内容进行操作。 NSData类和NSMutableData类:相当于数据缓冲区 NSFileManager是一个单例类,可以通过defalutManager类方法创建 + (NSFileManager *)de
阅读全文
摘要:C语言项目:学生成绩管理系统 1、数据结构:学生信息:学号、姓名、年龄、性别、3课成绩 2、功能: (1)增加学生记录 (2) 删除学生记录 (3) 查找学生信息(学号、姓名) (4) 修改学生信息 (5)按照成绩排序、求平均值、最大值、最小值 3、用户界面 主菜单 子菜单 4、 批量生成测试数据
阅读全文
摘要:OC中字符串的反转方式可以用两种方式来处理: 第一种:从头到尾取出字符串的每一个字符,然后将其从尾到头添加到可变的字符串中,最后输出即可。 第二种:将OC内部的字符串转换为C语言中的字符串,然后动态分配一个数组,然后将字符串内容拷贝到数组中,进行首尾交换操作。共进行数组长度/2次操作。 方式一:OC
阅读全文
摘要:以下为自定义的排序方式的实现 1 #import "Person+Compare.h" 2 3 @implementation Person (Compare) 4 -(NSComparisonResult)CompareByName:(Person*)aPerson 5 { 6 re...
阅读全文
摘要:NSDectionary字典:它是一个存储键值的容器,每一个键key都对应着一个值value,可以通过键key一次性找到目标值value,这是一个比较好的存储器,相比于数组而言,它明显提高了查询效率。同时,它存储数据的方式采用的是哈希存储,因此它的存储的数据是无序的。NSDectionary字典的主...
阅读全文
摘要:可变数组NSMutableArray的内容大小是可变的,因此它的常见操作无非增删该查,具体一些就是:创建、添加、删除、替换、插入、清空等等。。//// main.m// 02-NSMutableArray//// Created by ma c on 15/8/18.// Copyright (c)...
阅读全文
摘要:NSArray不可变字符串的主要操作有:创建、枚举、排序、与NSString之间的相互转换注意: NSArray可以存对象,不可以存基本数据类型、结构体、数组、指针、nil、NULL NSArray用nil作为结束标识符。 NSNull可以代表一个空对象。整个操作还是通过代码来体现吧...
阅读全文
摘要:Java内存区分 Java内存区分 Java内存分配与管理是Java的核心技术之一,之前我们曾介绍过Java的内存管理与内存泄露以及Java垃圾回收方面的知识,今天我们再次深入Java核心,详细介绍一下Java在内存分配方面的知识。一般Java在内存分配时会涉及到以下区域: ◆寄存器:我们在程序中无
阅读全文
摘要:特殊类型的包装类:数组、结构体(OC内部的、自定义的)、指针
阅读全文
摘要:NSNumber基本数据类型包装类: // // main.m // 04-NSNumber // // Created by ma c on 15/8/17. // Copyright (c) 2015年. All rights reserved. // #import <Foundation/F
阅读全文
摘要:NSMutableString可变字符串的主要的操作是创建、增加、删除、插入、替换 代码操作如下:
阅读全文
摘要:几种常见的用法为:字符串的创建、字符串的搜索、字符串的比较、字符串的转换用途一:字符串的创建 1 void ex1() 2 { 3 //1.常量字符串的对象 4 NSString *str1 = @"hello world"; 5 NSLog(@"str1 = %@",str...
阅读全文
摘要:Foundation框架NSString、NSMutableString、NSNumber(基本数据类型包装类)、NSValue(特殊类型包装类:指针、数组、结构体)、NSArray、NSMutableArray、NSDectionary、NSSet等等。一、不可变字符串NSString类、可变字符...
阅读全文
摘要:atomic和nonatomic的区别:atomic:设置成员变量的@property属性时,默认为atomic,提供多线程安全。因为多线程的缘故,所有的对象在操作成员变量时都是同步的,因此,为了防止一个对象在操作数据时还没有结束就被另一个对象抢走进行篡改,atomic为此提供了多线程安全机制,采用...
阅读全文
摘要:OC内部:可变对象和不可变对象的深(复制)拷贝问题思考: 不可变对象: 例如NSString对象,因为NSString对象是常量字符串,所以,不可以更改其内容,但是可以修改指向该字符串的指针指向。当对NSString对象做深拷贝时,如果是copy复制方式,其实就是浅复制,只是复制了同一个对象的指针;
阅读全文
摘要:三种文件导入的方式比较:类的前项声明@class、import、include:1、采用@class 类名的方式,它会告诉编译器有这么一个类,目前不需要知道它内部的实例变量和方法是如何定义的,后面会告诉你,现在你就可以直接使用它,节约程序编译时间;2、采用import方式,能避免重复导入同一类,它导...
阅读全文
摘要:对象的保留和所有权的释放:int main(int agrs,char *argv[]){ @autoreleasepool{ Person *person = [[Person alloc]initWithName:@“Tom"]; //retainCount=1 [pe...
阅读全文
摘要:深复制:复制对象时,如果对象中包含对象类型的实例变量,要对对象类型的实例变量也要做对象复制。新对象中的对象类型实例变量和旧对象中的对象类型实例变量指的是不同的对象。不管任何一方实例变量对对象做修改,都互相不影响对方所指向的对象的内容。 .h文件 .m文件 .m主函数 测试结果如下:
阅读全文
摘要:浅复制:复制对象时,如果对象中包含对象类型的实例变量,只是复制指针。新对象中的对象类型实例变量和旧对象中的对象类型实例变量指的是同一个对象。任何一方实例变量对对象做修改,另一方实例变量指向的该对象也就改变了。 .h声明文件 .m实现文件 main.m主函数 测试结果如下:
阅读全文
摘要:对象之间的循环引用 两个对象A、B,有可能会出现一种特殊的情况:A中包含B的实例变量;B中又包含A的实例变量,如果两个实例变量都是强引用(A有B实例变量的所有权,B也有A的实例变量的所有权),然后再两个对象销毁时,会出现A、B都不能正常销毁的情况。 类A: // A.h // 02-循环引用 //
阅读全文
摘要:内存管理:1、OC的对象都是分配在堆里的 Perosn *person = [[Person alloc]init]; Person *person //指针类型的变量,放在栈里。 [[Person alloc]init] //在堆里创建的对象,并初始化。 真正的含义: 用指针变量指...
阅读全文
摘要:1 import java.io.*; 2 public class IOTestDouble 3 { 4 public static void main(String[] args)throws Exception 5 { 6 BufferedReader buf...
阅读全文
摘要:ARC是cocoa系统帮你完成对象内存释放的引用计数机制 .h文件 .m文件 主函数测试 测试结果:
阅读全文
摘要:引用计数和字符串 内存中的常量字符串的空间分配与其他对象不同,他们没有引用计数机制 凡是自定义的对象都有引用计数机制; OC内部中对象分为可变对象(NSMutableString等)和不可变对象(NSString、NSArray等), 不可变对象不适用于引用计数的机制,可变的对象适用引用计数机制。
阅读全文
摘要:.h声明文件 .m实现文件 主函数测试 测试结果是:
阅读全文
摘要:手机内存下的类的设计练习: 设计Book类, 1.三个成员变量: title(书名)author(作者)、price(价格) 2.不使用@property,自己完成存取方法(set方法,get方法) 3、加入必要其他的方法 4、并对Book类进行测试 .h声明文件 1 // Book.h 2 //
阅读全文
摘要:1、内存区域的划分标准:代码段 存储代码 数据段 静态/全局数据、常量(const) 堆区(heap) 动态内存分配(更灵活的设置容器大小存储数据) 栈区(stack) 局部变量、函数参数 2、内存分配方式的原理:静态分配和动态分配 静态分配:编译器在处理程...
阅读全文
摘要:总结:继承、分类(Category、extension)、协议(protocol)一、继承:(1)特点: 继承多用于一般父类中的方法功能比较齐全,子类从父类继承过来使用,可以省略很多重复的代码,不仅简化了代码,而且也提高了代码的复用性。(2)过程: 当子类需要的方法和属性在父类中找不到时,子类可以添...
阅读全文
摘要:在下面的代码中,设置了两种不同的协议规则:一种是老师对学生设置的协议:即老师发出命令后,学生站起来、回答问题、坐下; 另一种是我对学生设置的协议:即学生按照我的协议中的初始化函数去初始化一个整数。 //我设置的协议Myprotocol,里面有我设置的协议规则(属性、函数)作为一个单独的文件 //老师
阅读全文
摘要:典型的继承例子:形状Shape为基类,继承它的类有:点类Point、圆类Circle、球体类Sphere、矩形类Rectangle、正方形类Square 点类Point也为基类,继承它的类有:圆类Circle、球体类Sphere、矩形类Rectangle、正方形类Square 圆类Circle也为基
阅读全文
摘要:分类(Category 、Extension) (一)分类的划分 (2) 1、(命名的类别)类别Category:只能添加新的方法,不能添加新变量。 2、(未命名的类别)类的扩展Extension://扩展一般直接写在类的实现文件中 //扩展中定义的都是类中私有的实例变量和方法 (二)分类的使用 (
阅读全文
摘要:六、协议(protocol) 关键字:@optional、@required (1)是一个类共享的一个方法列表 (2)它声明了一系列的方法而不进行实现 (3)遵从某个协议,就是需要实现协议中的方法 (4)类似于java的接口、C++中的纯虚函数 非正式协议、正式协议 重点:正式协议:所有实现正式协议
阅读全文
摘要:1 class Test 2 { 3 public static void main(String[] args) 4 { 5 String str = "xia..as....yuan.com"; 6 7 //判断 8 ...
阅读全文
摘要:// 上面为类的声明部分 //类的实现部分 //异常的声明和定义部分 //主函数中对异常的测试和处理
阅读全文
摘要:1 // 2 // main.cpp 3 // Test.cpp 4 // 5 // Created by mac on 15/8/11. 6 // Copyright (c) 2015年. All rights reserved. 7 // 8 #include<iostream> 9 #incl
阅读全文
摘要:1 // 2 // main.m 3 // 03-动态绑定 4 // 5 // Created by mac on 15/8/11. 6 // Copyright (c) 2015年. All rights reserved. 7 // 8 9 #import 10 #import "Fraction.h" 11 #import "Complex.h" 12 #im...
阅读全文
摘要:1 // Complex.h 2 // 03-动态绑定 3 // 4 // Created by ma c on 15/8/11. 5 // Copyright (c) 2015年. All rights reserved. 6 // 7 8 #import 9 10 @interface Complex : NSObject 11 @p...
阅读全文
摘要:import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; //comparator、comparable的用法(按照要求将map集合的键值对进行顺序输出) import java.util.List; public class Test { public ...
阅读全文
摘要:import java.util.*; public class Person implements Comparable<Person>//使Person的属性具有比较性 { private String name; private int age; public Person(String na
阅读全文
摘要:#include#define SIZE 10struct student{ char name[10]; int num; int age; char addr[15];}stu[SIZE];//保存数据(fwrite)void save(){ FILE *fp; fp = fopen("stu....
阅读全文
摘要:#include<stdio.h> int main(int argc,char *argv[]) { //检查用户的参数是否正确 if(argc<3) { printf("用法:命令 源文件名 目标文件名\n"); return -1; } //先打开源文件 FILE *fin = fopen(a
阅读全文
摘要:#include#includeint main(){ //定义文件指针 FILE *f = NULL; //打开文件 f = fopen("1.txt","wt"); if(f==NULL) { printf("文件读取失败!\n"); return -1; } char buf[1024]; /...
阅读全文
摘要:#includeint main(){//定义文件指针FILE *f = NULL; //打开文件f = fopen("1.txt","r");if(f==NULL){printf("文件读取失败!\n");return -1;} //读文件const int SIZE = 100;char bu...
阅读全文
摘要:/*文件的几种操作模式: r:只读 w:只写 rw:可读可写文件的分类: t:文本文件(字符文件) b:二进制文件(字节文件)注意:采用只读方式打开文件时,如果源文件不存在,打开文件会失败!采用只写方式打开文件时,不管源文件存不存在,都不会失败。(因为会自动创建一个文件)采用可读可写方式打开文...
阅读全文
摘要:建立完整的单向链表
阅读全文
摘要:// // main.c // dynamic_link_list // // Created by ma c on 15/8/5. // Copyright (c) 2015. All rights reserved. // 要求:写一个函数建立有3名学生数据的动态单向链表,并输出链表中每个结点的
阅读全文
摘要:#include#include#includetypedef struct{ char name[32]; int age; char gender; float score[3];}Student;typedef struct{ Student * pData;//学生信息 int size;/...
阅读全文
摘要:// // main.c // Pointer_search // // Created by ma c on 15/8/2. // 要求:通过指针查找,实现比较两个有序数组中的元素,输出两个数组中的第一个相同的元素值。 #include <stdio.h> int *searchSameEleme
阅读全文
摘要:结构体:struct 1、结构体变量的首地址能够被其最宽基本类型成员的大小所整除。 2、结构体每个成员相对于结构体首地址的偏移量(offset)都是成员的整数倍。 3、结构体的总大小为结构体最宽基本类型成员大小的整数倍。 cpu的字长: 32位的cpu或64位的cpu 32位或64位指的是cpu的字
阅读全文
摘要:字符串的两种形式:1、字符数组 char name[32] = “zhangsan”;//只能在初始化时这样做 strcpy(name,”lisi”);//整体赋值只能通过strcpy name = “lisi”;//error,将一个常量字符串的地址(“lisi")赋值给常量指针(ch...
阅读全文
摘要:#includetypedef struct student{ char *name; int sno; int age; float score;}Student;void sortScore(Student st[],int len){ int flag = 0; for(int i=0;is...
阅读全文
摘要:// // main.c // Pointer_search // // Created by ma c on 15/8/2. // Copyright (c) 2015年. All rights reserved. // 要求:通过指针查找,实现比较两个有序数组中的元素,输出两个数组中的第一个相同
阅读全文
摘要://自定义一个字符串字串查找标准库函数strstr()#include#includechar* myStrstr(char *str1,char *str2);int main(){ char *str1 = "hello worl world ld"; char *str2 = ...
阅读全文
摘要:// // main.c // Function_pointer // // Created by mac on 15/8/2. // Copyright (c) 2015年. All rights reserved. // 要求:将函数指针做参数来求两个整数的和、差、积、商。 //知识点:函数指针
阅读全文
摘要:// // main.c // Function_pointer // // Created by mac on 15/8/2. // Copyright (c) 2015年. All rights reserved. // 要求:通过函数指针求两个整数的和、差、积、商。 //知识点:函数指针就是一
阅读全文
摘要://// main.c// Pointer_function//// Created by ma c on 15/8/2.// Copyright (c) 2015年 bjsxt. All rights reserved.// 要求:通过指针函数,输入学生学号时,在控制台上显示对应的学生成绩。#in...
阅读全文
摘要://// main.c// Pointer_stringcat//// Created by ma c on 15/8/2.// Copyright (c) 2015年 bjsxt. All rights reserved.// 要求:使用指针连接字符串,并将连接后的字符串输出到屏幕上。#inclu...
阅读全文
摘要:// // main.c // Pointer_array // // Created by ma c on 15/8/2. // Copyright (c) 2015年. All rights reserved. // 要求:使用指针的指针输出字符串。首先要使用指针数组创建一个字符串数组,然后定义
阅读全文
摘要://// main.c// Pointer_max_min(return)//// Created by ma c on 15/8/2.// Copyright (c) 2015年 bjsxt. All rights reserved.// 要求:使用返回指针的函数查找10个整数的最大值和最小值。#...
阅读全文
摘要:// // main.c // Hex conversion // // Created by ma c on 15/7/22. // Copyright (c) 2015年. All rights reserved. // 要求:十进制向任意进制之间的转换(查表法)。 #include <stdi
阅读全文
摘要:#include#include#include#include//其他任意进制转换为十进制int main(){int trans(char a[],int );char arr[100];int t;printf("请输入进制的类型:");scanf("%d",&t);printf("请输入该进...
阅读全文
摘要:#include#include#include//其他任意进制转换为十进制int main(){int trans(char a[],int );char strupr(char );char arr[100];int t;printf("请输入进制的类型:");scanf("%d",&t);pr...
阅读全文