NSString是 Objective-C 中核心处理字符串的类之一
创建常量字符串,注意使用“@“符号。
NSString *astring = @"This is a String!";
NSString *string = [NSString new];
string = @"李大锤";
[NSString stringWithFormat:@"大锤%i岁了", 30];
字符串长度是指该字符串中一共有多个字符(无论是中文还是英文)
纯英文字符
NSString *str = @"lnj";
NSLog(@"length = %i", [str length]);
输出结果:3
NSString *str = @"lnj李";
NSLog(@"length = %i", [str length]);
输出结果:4
NSString *str = @"李大锤";
NSLog(@"length = %i", [str length]);
输出结果:3
NSUInteger 就是 unsigned long
源码:
typedef unsigned long NSUInteger;
设计一个”学生“类 1> 属性
* 姓名
* 生日
用结构体作为类的实例变量(生日)
#import <Foundation/Foundation.h> //定义生日的结构体
typedef struct{
int year;
int month;
int day;
}MyDate;
@interface Person : NSObject
{
@public
NSString *_name;//定义姓名
MyDate _birthday;//定义生日
}
@end
@implementation Person
@end
int main(int argc, const char * argv[]) {
Person *p = [Person new];
p->_name = @"sb";
//因为结构体已经初始化为0了,在次初始化就报错了,但是可以逐个赋值。
//p->_birthday = {1990,12,3};
p->_birthday.year = 2014;
p->_birthday.month = 05;
p->_birthday.day = 12;
NSLog(@"%@的生日是:%d年%d月%d 日",p->_name,p->_birthday.year,p->_birthday.month,p->_birthday.day);
//也可以整体赋值
MyDate de={1993,11,11};
p->_birthday = de;
NSLog(@"%@的生日是:%d年%d月%d 日",p->_name,p->_birthday.year,p->_birthday.month,p->_birthday.day);
return 0;
}
int main(int argc, const char * argv[])
{
// 1.创建士兵对象
Soldier *s1 = [Soldier new];
s1->_name = @"jack";
s1->_life = 10;
s1->_level = kSoldierLevel1;
// 2.创建枪对象
Gun *gun = [Gun new];
gun->_bulletCount = 100;
// 3.射击
[s1 fireByGun:gun];
}
@implementation Soldier
- (void)fireByGun:(Gun *)gun
{
[gun shoot];
}
@end
@implementation Shop
- (Gun *)buyGun
{
Gun *gun = [Gun new];
gun->_bulletCount = 100;
return gun;
}
@end
实现功能:士兵开枪,枪射击子弹
枪类:
名称:Gun 属性:型号(_size),子弹个数(_bulletCount)
行为:射击
人类:
名称:Soldier
属性:姓名(_name) life level(等级)
行为:跑 蹲 开枪 跳
原文:http://www.cnblogs.com/zhoudaquan/p/5014762.html