pragma mark 分类练习
pragma mark 概念
/**
ARC 想适用 MRC的东西 则添加
-fno-objc-arc
MAC 想适用 ARC的定向 则添加
-f-objc-arc
*/
pragma mark 代码
#import <Foundation/Foundation.h>
#pragma mark 类
#import "NSString+GetNSStringsContainsNumberCount.h" // 获取字符串的长度
#pragma mark main函数
int countWithStr(NSString *str);
int main(int argc, const char * argv[])
{
/*
已知 一个字符串, 要求找到字符串所有的亚拉伯数字
@"dasdahsdk1123daskjdhs3"
*/
#warning 思想
/*
// 1. 计算器思想, 定义一个变量 保存结果 \
2. 遍历字符串, 取出 字符串中所有的字符
// 定义一个变量 记录阿拉伯的数字的个数
int count = 0;
NSString *str = @"dasdahsdk1123daskjdhs32";
// 既然是对象 那么这个对象里面应该有方法可以使用。
#warning characterAtIndex 根据一个字符的索引,返回一个字符(unichar)[unsigned short(unsigned 最高位不作为符号位,返回的数就更大了) 可以存储汉字]
// unichar c = [str characterAtIndex:0];
// NSLog(@"%c",c);
// 遍历字符串
for (int i = 0; i<str.length; i++) {
// 在这里获取每一个字符
unichar c = [str characterAtIndex:i];
NSLog(@"%c",c);
// 判断字符是不是数字
// '0' 字符 如果写 0 会出问题 因为字符串存储的是ASCII码值
if (c >= '0' && c<= '9') {
count ++;
}
}
NSLog(@"count = %i",count);
*/
#warning 使用main函数的自定义方法
// int count = countWithStr(@"112dasdashkdh3");
// NSLog(@"count = %i",count);
#warning 为NSString 添加一个countWithStr方法
// NSString *str = @"dasdahsdk1123daskjdhs32";
// int count = [NSString countWithStr:str];
// NSLog(@"count = %i",count);
#warning 其他方法获取字符串的阿拉伯数量
NSString *str = @"dasdahsdk1123daskjdhs32";
int count = [str count];
NSLog(@"count = %i",count);
return 0;
}
/*
// 统计一个字符串里面 包含了多少个阿拉伯数组
int countWithStr(NSString *str)
{
int count = 0;
for (int i = 0; i<str.length; i++) {
unichar c = [str characterAtIndex:i];
NSLog(@"%c",c);
if (c >= '0' && c<= '9') {
count ++;
}
}
return count;
}
*/
Person.h //人类
#import <Foundation/Foundation.h>
@interface Person : NSObject
- (void)text;
@end
Person.m
#import "Person.h"
#import "NSString+GetNSStringsContainsNumberCount.h"
@implementation Person
- (void)text
{
NSString *str = @"1313daksjdhaskdhda1";
int count = [NSString countWithStr:str];
NSLog(@"count = %i",count);
}
@end
NSString+GetNSStringsContainsNumberCount.h //字符串的分类
#import <Foundation/Foundation.h>
@interface NSString (GetNSStringsContainsNumberCount)
/**
根据字符串 来 计算字符串包含了 阿拉伯的个数
*/
+ (int)countWithStr:(NSString *)str;
- (int)count;
@end
GetNSStringsContainsNumberCount.m
#import "NSString+GetNSStringsContainsNumberCount.h"
@implementation NSString (GetNSStringsContainsNumberCount)
#warning 类方法
+ (int)countWithStr:(NSString *)str
{
int count = 0;
for (int i = 0; i<str.length; i++) {
unichar c = [str characterAtIndex:i];
NSLog(@"%c",c);
if (c >= '0' && c<= '9') {
count ++;
}
}
return count;
}
#warning 对象方法
- (int)count
{
int number= 0;
// 这里的self 就是str
for (int i = 0; i<self.length; ++i) {
unichar c = [self characterAtIndex:i];
NSLog(@"%c",c);
if (c >= '0' && c<= '9') {
number ++;
}
}
return number;
}
@end
网友评论