OC基础 — 2
2018-01-17 17:39
98 查看
- NSString
(1)C语言中的字符串不是对象
char *name1 =“xy”;
char name2[] =“xxy”;
OC中的字符串是一个对象
正是因为OC中的字符串是一个对象,所以它就具备了很多功能
NSString *str =@"lk";
//注意:输出C语言的字符串使用%s
//输出OC的字符串使用%@,
%@就专门用于输出对象类型的
Iphone *p = [Iphonenew];
NSLog(@"content = %s", [p loadMessage]);
NSLog(@"content = %@",
[ploadMessage]);
(2)计算字符串的长度
C语言中:
// 包含\0
size_t size =sizeof(name);
printf("size = %lu\n",
size);
// 不包含\0
size_t length =strlen(name);
printf("length = %lu\n",
length);
OC中:
NSString *str =@“Ring”;
NSUInteger len = [strlength];
NSLog(@"len = %lu",
len);
- 结构体作为对象的属性
typedefstruct {
int year;
int month;
int day;
} Date;
@interface Student :NSObject
{
@public
NSString *_name;
Date _birthday;
}
@end
(1)结构体只能在定义的时候初始化
系统并不清楚它是数组还是结构体
(2)初始化结构体属性
方法一:强制转换
stu->_birthday = (Date){1986,1, 15};
方法二:定义一个新的结构体,给d赋值,将d赋值给_birthday
Date d = {1986,1, 15};
stu->_birthday = d;
方法三:分别赋值
stu->_birthday.year =1986;
stu->_birthday.month =1;
stu->_birthday.day =15;
- #pragma mark
(1)#pragma mark不属于Objective-C,而是Xcode的工具
(2)pragma mark实质上是让Xcode在其Function
Menu内打上一些记号,Function Menu列出程式档内的class、function、method,这是Xcode让使用者可以快速查看一个程式档案裡所有class、method、function的工具,pragma
mark则是在Function Menu内作记号(mark),帮助阅读程式
- 匿名对象
(1)匿名就是没有名字,匿名对象就是没有名字的对象
(2)有名字的对象
只要用一个指针保存了某个对象的地址,我们就可以称这个指针为某个对象
//p为Person对象
Person *p =[Personnew];
(3)没有名字的对象
无论有没有名字,只要调用new方法都会返回对象的地址
每次new都会新开辟一块存储空间
[Personnew]->_age =30;
(4)匿名对象的应用场景
1 当对象只需要使用一次的时候就可以使用匿名对象
2 匿名对象可以作为方法的参数(实参)
- 修改项目模版
(1)修改项目模板以及main函数中的内容
/Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/Project Templates/Mac/Application/Command Line Tool.xctemplate/
(2)修改OC文件头部的描述信息
/Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/File Templates/Source/Cocoa Class.xctemplate
(3)Xcode文档安装的位置:
1 /Applications/Xcode.app/Contents/Developer/Documentation/DocSets
注意:拷贝之前最好将默认的文档删除,因为如果同时存在高版本和低版本的文档,那么低版本的不会显示
2 /Users/你的用户名/Library/Developer/Shared/Documentation/DocSets
注意:如果没有该文件夹可以自己创建一个
(1)C语言中的字符串不是对象
char *name1 =“xy”;
char name2[] =“xxy”;
OC中的字符串是一个对象
正是因为OC中的字符串是一个对象,所以它就具备了很多功能
NSString *str =@"lk";
//注意:输出C语言的字符串使用%s
//输出OC的字符串使用%@,
%@就专门用于输出对象类型的
Iphone *p = [Iphonenew];
NSLog(@"content = %s", [p loadMessage]);
NSLog(@"content = %@",
[ploadMessage]);
(2)计算字符串的长度
C语言中:
// 包含\0
size_t size =sizeof(name);
printf("size = %lu\n",
size);
// 不包含\0
size_t length =strlen(name);
printf("length = %lu\n",
length);
OC中:
NSString *str =@“Ring”;
NSUInteger len = [strlength];
NSLog(@"len = %lu",
len);
- 结构体作为对象的属性
typedefstruct {
int year;
int month;
int day;
} Date;
@interface Student :NSObject
{
@public
NSString *_name;
Date _birthday;
}
@end
(1)结构体只能在定义的时候初始化
系统并不清楚它是数组还是结构体
(2)初始化结构体属性
方法一:强制转换
stu->_birthday = (Date){1986,1, 15};
方法二:定义一个新的结构体,给d赋值,将d赋值给_birthday
Date d = {1986,1, 15};
stu->_birthday = d;
方法三:分别赋值
stu->_birthday.year =1986;
stu->_birthday.month =1;
stu->_birthday.day =15;
- #pragma mark
(1)#pragma mark不属于Objective-C,而是Xcode的工具
(2)pragma mark实质上是让Xcode在其Function
Menu内打上一些记号,Function Menu列出程式档内的class、function、method,这是Xcode让使用者可以快速查看一个程式档案裡所有class、method、function的工具,pragma
mark则是在Function Menu内作记号(mark),帮助阅读程式
- 匿名对象
(1)匿名就是没有名字,匿名对象就是没有名字的对象
(2)有名字的对象
只要用一个指针保存了某个对象的地址,我们就可以称这个指针为某个对象
//p为Person对象
Person *p =[Personnew];
(3)没有名字的对象
无论有没有名字,只要调用new方法都会返回对象的地址
每次new都会新开辟一块存储空间
[Personnew]->_age =30;
(4)匿名对象的应用场景
1 当对象只需要使用一次的时候就可以使用匿名对象
2 匿名对象可以作为方法的参数(实参)
- 修改项目模版
(1)修改项目模板以及main函数中的内容
/Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/Project Templates/Mac/Application/Command Line Tool.xctemplate/
(2)修改OC文件头部的描述信息
/Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/File Templates/Source/Cocoa Class.xctemplate
(3)Xcode文档安装的位置:
1 /Applications/Xcode.app/Contents/Developer/Documentation/DocSets
注意:拷贝之前最好将默认的文档删除,因为如果同时存在高版本和低版本的文档,那么低版本的不会显示
2 /Users/你的用户名/Library/Developer/Shared/Documentation/DocSets
注意:如果没有该文件夹可以自己创建一个
相关文章推荐
- runtime基础教程(2)-OC的消息传递
- OC基础数据类型-NSValue
- oc基础
- OC基础(12)
- OC基础(19)
- OC基础(25)
- 黑马程序员——OC基础---手动内存管理
- OC基础-OC三大基本数据结构-NSArray
- 黑马程序员————OC面向对象编程基础总结
- OC基础-NSNumber类簇-将简单数据类型保存为对象
- iOS基础之OC简单控件知识了解(二)
- OC基础语法<1.1> 入门面向对象语法-OC类、点语法
- 黑马程序员---OC基础---Foundation(上)
- 蓝鸥iOS从零基础到精通就业-OC语言入门 1和对象一1
- oc基础-oc中之集合NSArray,NSMutableArray
- oc基础第四天-继承
- 黑马程序员——OC基础语法—@property和@synthesize使用
- OC基础知识--字典处理方法
- oc基础:区分类方法和实例方法
- OC 字符串NSString 创建 拼接 插入 修改 删除 查找判断等基础用法