- 博客(35)
- 收藏
- 关注
原创 iOS tableView删除操作
先设置UITableView代理 tableview.delegate = self;设置tableView允许编辑:- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ //开启编辑模式 [tableView setEditing:YES ani...
2019-02-18 11:27:06
2105
原创 接口与API设计
用前缀避免命名空间冲突 选择与你的公司,应用程序或两者皆有关联之名称作为类名的前缀,并在所有代码中均使用这一前缀 若自己所开发的程序库中用到了第三方库,则应为其中的名称加上前缀 提供“全能初始化方法” 在类中提供一个全能初始化方法。其他初始化方法均应调用此方法。 若全能初始化方法与超类不同,则需覆写超类中对应的方法 如果超类的初始化方法不适应于子类,那么应该覆写这个超类方法实...
2019-02-18 11:04:44
269
原创 iOS贝塞尔曲线简单使用
第一种是创建一个UIView子类, 用UIBezierPath画圆。 创建和使用path对象步骤:1、 重写View的drawRect方法2、 创建UIBezierPath的对象3、 使用方法moveToPoint:设置初始点4、 根据具体要求使用UIBezierPath类方法绘图(比如要画线、矩形、圆、弧?等)5、 设置UIBezierPath对象相关属性 (比如lineWid...
2019-02-14 20:50:57
1351
2
原创 iOS AFNetworking 的简单使用
为什么要用AFNetworking? 带block形式, 内部是任务队列进行下载 。 还可以检测网络状态。GET请求- (void)getAFNetworking { AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; NSString *url = @"http://apis.juhe.c...
2019-01-31 10:01:30
3714
原创 iOS 懒加载及_xxx及self.xxx
- (UILabel *)nameLabel{ if (!_nameLabel) { _nameLabel = [[UILabel alloc]init]; [self.view addSubview: _nameLabel]; } return _nameLabel;}懒加载 就是用的时候才会加载,在某些情况下可以节省资源必须...
2019-01-28 11:47:33
237
原创 带界面的学生管理系统封装学生类
StudentMessage.h#import <Foundation/Foundation.h>@interface StudentMessage : NSObject @property (nonatomic, copy)NSString *nameString, *numberString, *classString, *sexString, *scoreString...
2018-08-11 08:52:43
440
原创 iOS简单的传值
1.协议传值从twoViewController传到viewController twoViewController.h#import <UIKit/UIKit.h>//声明一个协议@protocol twoViewControllerDelegate <NSObject>//自定义方法来反向传值- (void)changeWithString:...
2018-08-10 16:13:41
587
原创 UITextView的阴影文字(placeholder)
1.把UITextView的text属性当成“placeholder”使用。2.在开始编辑的代理方法里清除“placeholder”。3.在结束编辑的代理方法里根据条件设置“placeholder”。这种方法有一个缺点是:用户点击textview时,placeholder就会消失// 创建textViewUITextView *textView =[[UITextViewalloc...
2018-08-04 09:07:52
266
原创 Objective-C中的编码规范
Objective-C中的编码规范条件语句应该用大括号包围起来if (!error) { return success;}case语句 当case包含多行语句时,需要加上括号 命名推荐使用长的,描述性方法和变量名 (推荐 settingsButton) (不推荐 setBut) 常量应该用驼峰命名法,用相关类名作为前缀 方法名应该在方法类型之后(-/+)之后有一个...
2018-07-28 09:53:28
169
原创 属性关键字
属性关键字属性关键字分为三类属性按照下面来定义属性@property (nonatomic, readwrite, copy) NSString *name;第一类 :读写性控制readonly 只读的,默认标记读写 只产生getter,不产生setter readwrite 默认属性 读写 同时产生setter 和getter第二类:原子性控制nonatomic:普通...
2018-07-28 09:49:15
937
原创 视图层次结构与视图控制器
UIWindow作为iOS程序的窗口(也可以说是根视图),它就像一个容器,可以用来存放自己定义的各个子视图(UIView或其子类)。层次结构中的每个视图分别绘制自己,视图会将自己绘制在图层上。为UIWindow添加View的方法为[self.window addSubView:(View的名字)];当然也可以设置window的rootViewController属性,rootViewContr...
2018-07-28 09:40:30
502
原创 类的实例 课程设计
#import <Foundation/Foundation.h>@interface Course : NSObject { NSString *_courseName;//课程名 NSString *_teacherName;//任课老师名 NSInteger _courseTime;//课时数}//构造方法//初始化一个对象- (id)ini...
2018-06-24 18:03:59
285
原创 多态的理解
#import <Foundation/Foundation.h>@interface FKBase : NSObject- (void) base;- (void) text;@end#import "FKBase.h"@implementation FKBase- (void) base { NSLog(@"父类的普通base方法");}- (...
2018-06-24 18:00:39
123
原创 重写父类方法
#import <Foundation/Foundation.h>@interface FKBird : NSObject- (void)fly ;@endFKBird类的创建和实现#import "FKBird.h"@implementation FKBird- (void)fly { NSLog(@"我在天空里自由自在地飞翔");}@end#impo...
2018-06-24 17:58:03
409
原创 decription
类的创建#import <Foundation/Foundation.h>@interface FKApple : NSObject@property (nonatomic , copy) NSString *color;@property (nonatomic , assign) double weight;- (instancetype) initWithColor:...
2018-06-24 17:50:14
240
原创 self和super
self和supersuper和self指向是同一个对象对象的初始化(NSobject)类中就有init方法可以不用声明 直接实现- (id)init { self = [super init] ;//初始化父类对象 if (self) { //初始化 } return self ; }selfself表示当前方法的调用者在类方法中sel...
2018-06-10 09:56:02
267
原创 对于封装和继承的进一步理解
继承和封装声明Rectangle类继承NSObject父类#import <Foundation/Foundation.h>@interface Rectangle : NSObject@property int width , height ;- (void)setWidth:(int)w andHeight :(int) h ;- (void)caculate ...
2018-06-10 09:54:51
234
原创 类的三大特性
类的三大特性封装数据封装就是将实例变量隐藏起来,不能直接访问实例变量setter方法给成员变量赋值 设值方法不会返回任何值,因为他的主要目的是将方法参数设为对应的实例变量的值getter方法获取成员变量的值 取值方法的目的是获取存储在对象中的实例变量的值,并通过程序返回发送出去,取值方法必须返回的值作为return的参数你必须通过使用一些方法来访问这些对外界隐藏的数据,这种做法集中访问实例变量的方...
2018-06-10 09:52:21
12424
原创 属性和成员变量
属性和成员变量成员变量在接口interface里面的统称为成员变量成员变量必须包含在大括号中注意在ObjC中不管是自定义的类还是系统类对象都必须是一个指针属性编译器自动将变量set和get方法的合成,可用点语法读取,可作为变量使用可以使用关键字 @synthesize 来对属性进行绑定。@synthesize 关键字后面紧跟着的是属性名字,等号后面即为该属性所绑定的成员变量。关键字 @synthe...
2018-06-10 09:51:26
1385
原创 对象方法和类方法
类方法和对象方法类方法(+)表示类方法调用方式 1.可以直接调用 2.可以用类名 方法名调用 3.可以用对象名 方法名调用类方法不可以调用实例方法,但是可以创建对象来访问实例方法类方法不可以使用实例变量,但可以使用self对象方法(-)表示对象方法对象方法只能由实例变量来调用对象方法可以访问当前对象的成员变量对象方法的调用格式:【对象名 对象方法名:(参数名)】#import <Founda...
2018-06-10 09:50:45
4177
原创 NSArray
#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) { @autoreleasepool { NSString *s1 = @"zhangsan" ; NSString *s2 = @"lisi" ; NSString *s3 = @...
2018-06-10 09:48:54
107
原创 NSMutableArray
#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) { @autoreleasepool { NSString *str1 = @"zhangsan" ; NSString *str2 = @"lisi" ; NSString *s...
2018-06-10 09:47:31
135
原创 NSSet和NSMutableSet
NSSet和 NSMutableSet#import <Foundation/Foundation.h>@interface NSSet (Printing)-(void)print ;@end@implementation NSSet (Printing)-(void) print { printf("{") ; for ( NSNumber *eleme...
2018-06-10 09:44:26
253
原创 NSDictionary和NSMutableDictionary
不可变词典和可变词典//由键值对key-value构成的数据结合 //字典中的元素是以键值对的形式存储的 //key为键 value为值 //一个key只能对应一个value key一般使用字符串 //字典的创建 NSString *str1 = @"zhangsan" ; NSString *str...
2018-06-10 09:42:14
328
原创 Foundation框架中的NSMutableString对象
NSMutableString 可变字符串对象1.字符串对象本身不可以被修改 2.NSMutableString 是NSString的子类继承NSString 3.创建可变字符串对象 字符串对象本身可以被修改 4.可变字符串对象可以直接调用不可变字符串对象的方法创建一个可变字符串1.直接创建 NSMutableString *mstr ; [mstr setStrin...
2018-06-03 14:00:55
132
原创 Foundation框架中的NSString对象
一 NSString对象1.字符串对象创建 //字符串对象 //1.字符串前加上@ @表示对象 //OCStr1是一个对象指针,指向常量区的字符串对象 NSString *OCStr1 = @"China";//存储在常量区 //NSLog 自动换行 NSLog(@"OCStr1 ...
2018-06-03 13:49:53
195
原创 类的定义和实现
1.类的定义 在类的定义中,关键字为 interface ,关键字后面为类名,类名一般情况下首字母大写 冒号后面 NSObject 是父类 命名时要见名知意大驼峰命名:命名时每个单词的首字母大写 一般用于类的命名小驼峰命名:第一个单词首字母小写,以后每个单词的首字母大写,一般用于实例变量和参数的命名(-)对象方法(实例方法):对象方法只能给对象调用,不能给类调用(+)类方法:只能给类调用,不能给对...
2018-06-03 13:29:11
1626
原创 类和对象的简单理解
C语言和Objective-CC语言是面向过程的编程语言:是把要考虑做的事情做完才考虑对象是谁,而Objective-C是面向对象的编程语言,要先明白对象是谁。Objective类与对象类我理解就是一大类的总称,人类可以算是一类,而每个人都是不同的对象,人执行的任何事情,吃饭,睡觉,运动......等一系列是对对象的操作。@autoreleasepool{//自动释放池//使在创建新对象时,系...
2018-05-27 16:34:57
455
原创 冒泡排序的优化
用flag标记是否发生了交换,如果没有交换就提前结束#include<stdio.h>int main ( ) { int i,j,t,n,flag; scanf("%d",&n); int a[100]; for ( i = 0 ; i < n ; i ++ ) { scanf("%d",&a[i]); } for ( i = 0 ; i &l...
2018-05-27 16:07:17
133
原创 变态最大值
描述Yougth讲课的时候考察了一下求三个数最大值这个问题,没想到大家掌握的这么烂,幸好在他的帮助下大家算是解决了这个问题,但是问题又来了。他想在一组数中找一个数,这个数可以不是这组数中的最大的,但是要是相对比较大的,但是满足这个条件的数太多了,怎么办呢?他想到了一个办法,把这一组数从开始把每相邻三个数分成一组(组数是从1开始),奇数组的求最大值,偶数组的求最小值,然后找出这些值中的最大值。输入有...
2018-05-27 15:35:10
153
原创 孪生素数
题目描述 Description如m=100,n=6则将输出100以内的所有相差6的孪生素数:如,5 117 13....83 89请按此规律输出数与数之间用半角空格区分,每一对一行.输入描述 Input Description第一行输入一个整数数m为一个范围(如100)第二行输入一个整数k为目标孪生素数的公差(如6)输出描述 Output Description每行输出一对,最后一行输出:Tot...
2018-05-27 15:32:31
250
原创 不高兴的津津
题目描述 Description津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴;如果会的话,哪天最不高兴。 输入...
2018-05-22 19:11:30
7929
2
原创 大数的阶乘
大数的阶乘用int,甚至long long int,还是double 都很难计算的出来需要用一个大数每乘一位向前进位的方法#include<stdio.h>int main ( ) { int n,i,j,temp; scanf("%d",&n); int a[20000]; a[0] = 1 ;//将数组第一个数字定为1 int flag = 1 ; for (...
2018-05-22 19:08:51
184
原创 电梯问题
题目描述 Description一个简单的数学模拟题!有一座电梯,它的性能如下:上升一层需要6秒钟,下降一层需要4秒钟,如果要让它停下,它会停5秒钟.现在告诉你它要按顺序到达然后停靠的N个楼层,求它需要的时间.电梯开始在0层,楼梯共有100层.输入(elevator.in):第一行为N(N<=50),接下来的N行是它N个停靠的楼层.输出(elevator.out):只有一行,为所需要的时间....
2018-05-21 22:26:33
1503
原创 明明的随机数
题目描述 Description明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。输入描述 Input Description有2行,第1行...
2018-05-21 22:24:35
128
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人