objective C程序 NSString用法和类的概念
2015-08-01 21:10
423 查看
#import <Foundation/Foundation.h>
int main(int argc,
const char * argv[]) {
@autoreleasepool {
//NSString是oc中字符串处理的类
//1,创建一个字符串
NSString *s =
@"welcome to itcast";//特殊用法
//2,输出一个字符串
NSLog(@"%@",s);
//NSString是一个类
NSString*s1 =[NSString new];
s1 =@"jian le ma";
NSLog(@"%@",s1);
//3,创建字符串的第三种用法
//格式化创建字符串(按照指定的格式创建字符串)
//NSString *imgName = [NSString stringWithFormat:@"xxxxxxxxxx%02d.jpg",i];
/*for (int i =0; i<10; i++)
{
NSString *imgName = [NSString stringWithFormat:@"xxxxxxxxxx%02d.jpg",i];
NSLog(@"%@",imgName);
}*/
//用一个已经存在的字符串创建一个新的字符串
NSString *s2 = [[NSString alloc] initWithString :s1 ];
NSLog(@"s2 = %@",s2);
}
return 0;
}
#import <Foundation/Foundation.h>
int main(int argc,
const char * argv[]) {
@autoreleasepool {
//计算NSString字符串的长度
//1)字符串是纯英文的
NSString *s1 =@"i donot care";
NSUInteger len = [s1 length];
NSLog(@"len = %ld",len);//12
//不包含‘\0’
4000
// 2)字符串是纯中文
//oc字符串中中英文都是一个字符串
NSString *s2 =@"我不关心";//4
len = [s2 length];
//3)中英文混合
NSString *s3 =@"班长!abc";//6
len = [s3 length];
NSLog(@"len = %ld",len);
//在C语言UTF-8编码中一个汉字占三个字节
char *s ="我不关心";
// char *s ="abc";
//int len1 =strlen(s);
printf("len = %ld",strlen(s));//3 //12
}
return 0;
}
类方法:
+开头的方法(定义的过程和对象方法一致,只不过+开头)
类方法的调用:
[类名
方法名];
对比学习:
Dog类
-(void)run;
想调用run方法,dog * dog = [Dog new]; [dog run];
Dog类r
+(void)run;类方法
想调用run方法, [Dog run];
#import
<Foundation/Foundation.h>
@interface Car : NSObject
{
@public
int _speed;
}
-(void)run;
+(void)run;
+(void)run:(int)speed;
@end
@implementation Car
-(void)run{
//对象方法中可以调用其他的对象方法
//1)当前对象方法中创建对象(可以是当前类的也可以是其他类的对象),使用新创建的对象调用对象方法
//2)可以使用self
//3)对象可以作为方法的参数传递过来,可以使用传递过来的对象调用方法
NSLog(@"车正在以%d码的速度跑",_speed);
}
+(void)run{
//在类方法中不允许访问实例变量
//NSLog(@"车正在以%d码的速度跑",_speed);
NSLog(@"车正在跑");
//在类方法中可以调用其他方法
//1)可以直接使用本类类名(其他类名)调用
[Car run:250];
//2)可以使用self
[self run:100];
}
+(void)run:(int)speed{
NSLog(@"车正在以%d码的速度跑",speed);
}
@end
int main(int argc,
const char * argv[]) {
@autoreleasepool {
Car * car = [Car new];
car->_speed=200;
[car run];
[Car run];//类方法
[Car run:230];
}
return 0;
}
int main(int argc,
const char * argv[]) {
@autoreleasepool {
//创建对象
Car *car1 = [Car new];
car1->_speed = 100;
[car1 start];
//[Car new]
实质上是对象的存储空间
//匿名类(匿名对象)时候用
//匿名类的第一种使用方法
//1,使用匿名类访问实例变量
(能,但只能正确访问一次)
//以后再访问,实际上是访问新的空间了
[Car new]->_speed = 250;
NSLog(@"_speed = %d",[Car new]->_speed = 250);//0
//2,使用匿名的类,可以调用方法
[[Car new] stop];
//可以
[[Car alloc] init];
//等价于[Car new];
//使用alloc init的方式调用stop方法
[[[Car alloc] init] stop];
}
return 0;
}
Person *p = [[Person alloc] init];
//创建一个车
Car *car = [Car new];
car->_speed = 80;
[p goHome:car];
//1,匿名类作为方法的参数使用
[p goHome:[Car new]];
//匿名类调用方法,参数又是匿名类
[[Person new] goHome:[Car new]];
int main(int argc,
const char * argv[]) {
@autoreleasepool {
//NSString是oc中字符串处理的类
//1,创建一个字符串
NSString *s =
@"welcome to itcast";//特殊用法
//2,输出一个字符串
NSLog(@"%@",s);
//NSString是一个类
NSString*s1 =[NSString new];
s1 =@"jian le ma";
NSLog(@"%@",s1);
//3,创建字符串的第三种用法
//格式化创建字符串(按照指定的格式创建字符串)
//NSString *imgName = [NSString stringWithFormat:@"xxxxxxxxxx%02d.jpg",i];
/*for (int i =0; i<10; i++)
{
NSString *imgName = [NSString stringWithFormat:@"xxxxxxxxxx%02d.jpg",i];
NSLog(@"%@",imgName);
}*/
//用一个已经存在的字符串创建一个新的字符串
NSString *s2 = [[NSString alloc] initWithString :s1 ];
NSLog(@"s2 = %@",s2);
}
return 0;
}
#import <Foundation/Foundation.h>
int main(int argc,
const char * argv[]) {
@autoreleasepool {
//计算NSString字符串的长度
//1)字符串是纯英文的
NSString *s1 =@"i donot care";
NSUInteger len = [s1 length];
NSLog(@"len = %ld",len);//12
//不包含‘\0’
4000
// 2)字符串是纯中文
//oc字符串中中英文都是一个字符串
NSString *s2 =@"我不关心";//4
len = [s2 length];
//3)中英文混合
NSString *s3 =@"班长!abc";//6
len = [s3 length];
NSLog(@"len = %ld",len);
//在C语言UTF-8编码中一个汉字占三个字节
char *s ="我不关心";
// char *s ="abc";
//int len1 =strlen(s);
printf("len = %ld",strlen(s));//3 //12
}
return 0;
}
类方法:
+开头的方法(定义的过程和对象方法一致,只不过+开头)
类方法的调用:
[类名
方法名];
对比学习:
Dog类
-(void)run;
想调用run方法,dog * dog = [Dog new]; [dog run];
Dog类r
+(void)run;类方法
想调用run方法, [Dog run];
#import
<Foundation/Foundation.h>
@interface Car : NSObject
{
@public
int _speed;
}
-(void)run;
+(void)run;
+(void)run:(int)speed;
@end
@implementation Car
-(void)run{
//对象方法中可以调用其他的对象方法
//1)当前对象方法中创建对象(可以是当前类的也可以是其他类的对象),使用新创建的对象调用对象方法
//2)可以使用self
//3)对象可以作为方法的参数传递过来,可以使用传递过来的对象调用方法
NSLog(@"车正在以%d码的速度跑",_speed);
}
+(void)run{
//在类方法中不允许访问实例变量
//NSLog(@"车正在以%d码的速度跑",_speed);
NSLog(@"车正在跑");
//在类方法中可以调用其他方法
//1)可以直接使用本类类名(其他类名)调用
[Car run:250];
//2)可以使用self
[self run:100];
}
+(void)run:(int)speed{
NSLog(@"车正在以%d码的速度跑",speed);
}
@end
int main(int argc,
const char * argv[]) {
@autoreleasepool {
Car * car = [Car new];
car->_speed=200;
[car run];
[Car run];//类方法
[Car run:230];
}
return 0;
}
int main(int argc,
const char * argv[]) {
@autoreleasepool {
//创建对象
Car *car1 = [Car new];
car1->_speed = 100;
[car1 start];
//[Car new]
实质上是对象的存储空间
//匿名类(匿名对象)时候用
//匿名类的第一种使用方法
//1,使用匿名类访问实例变量
(能,但只能正确访问一次)
//以后再访问,实际上是访问新的空间了
[Car new]->_speed = 250;
NSLog(@"_speed = %d",[Car new]->_speed = 250);//0
//2,使用匿名的类,可以调用方法
[[Car new] stop];
//可以
[[Car alloc] init];
//等价于[Car new];
//使用alloc init的方式调用stop方法
[[[Car alloc] init] stop];
}
return 0;
}
Person *p = [[Person alloc] init];
//创建一个车
Car *car = [Car new];
car->_speed = 80;
[p goHome:car];
//1,匿名类作为方法的参数使用
[p goHome:[Car new]];
//匿名类调用方法,参数又是匿名类
[[Person new] goHome:[Car new]];
相关文章推荐
- Objective-C语法之代码块(block)的使用
- net.sf.json.JSONObject需要jar包
- gtk+2.0中GtkObject结构中没有klass成员的解决办法
- gtk+2.0中GtkObject结构中没有klass成员的解决办法
- gtk+2.0中GtkObject结构中没有klass成员的解决办法
- 动态库的动态链接(error while loading shared libraries,cannot open shared object file)
- [Objective-C] 014_Objective-C 代码规范指南
- 【Entity Framework】初级篇--ObjectContext、ObjectQuery、ObjectStateEntry、ObjectStateManager类的介绍
- WPF中DependencyObject与DependencyProperty的源码简单剖析
- 了解Objective-C中Selector基本概念和操作
- IOS-2-C语言和Objective-C语言衔接学习资料
- NAMESPACE_ERR: An attempt is made to create or change an object in a way which is incorrect with regard to namespaces.
- Objective-C 私有变量和私有方法如何实现?
- JSONArray,JSONObject,String之间的关系
- Objective-C中的instancetype和id区别
- Objective-C静态库中含有category怎么办?
- (转载)Objective-c的@property 详解
- objectiveC【语法】修饰符 static extern const
- Objective-C类和对象
- Objects and Data Structures