pragma mark 分類練習(xí)
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函數(shù)
int countWithStr(NSString *str);
int main(int argc, const char * argv[])
{
/*
已知 一個字符串, 要求找到字符串所有的亞拉伯?dāng)?shù)字
@"dasdahsdk1123daskjdhs3"
*/
#warning 思想
/*
// 1. 計算器思想, 定義一個變量 保存結(jié)果 \
2. 遍歷字符串, 取出 字符串中所有的字符
// 定義一個變量 記錄阿拉伯的數(shù)字的個數(shù)
int count = 0;
NSString *str = @"dasdahsdk1123daskjdhs32";
// 既然是對象 那么這個對象里面應(yīng)該有方法可以使用厂捞。
#warning characterAtIndex 根據(jù)一個字符的索引,返回一個字符(unichar)[unsigned short(unsigned 最高位不作為符號位,返回的數(shù)就更大了) 可以存儲漢字]
// unichar c = [str characterAtIndex:0];
// NSLog(@"%c",c);
// 遍歷字符串
for (int i = 0; i<str.length; i++) {
// 在這里獲取每一個字符
unichar c = [str characterAtIndex:i];
NSLog(@"%c",c);
// 判斷字符是不是數(shù)字
// '0' 字符 如果寫 0 會出問題 因為字符串存儲的是ASCII碼值
if (c >= '0' && c<= '9') {
count ++;
}
}
NSLog(@"count = %i",count);
*/
#warning 使用main函數(shù)的自定義方法
// int count = countWithStr(@"112dasdashkdh3");
// NSLog(@"count = %i",count);
#warning 為NSString 添加一個countWithStr方法
// NSString *str = @"dasdahsdk1123daskjdhs32";
// int count = [NSString countWithStr:str];
// NSLog(@"count = %i",count);
#warning 其他方法獲取字符串的阿拉伯?dāng)?shù)量
NSString *str = @"dasdahsdk1123daskjdhs32";
int count = [str count];
NSLog(@"count = %i",count);
return 0;
}
/*
// 統(tǒng)計一個字符串里面 包含了多少個阿拉伯?dāng)?shù)組
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)
/**
根據(jù)字符串 來 計算字符串包含了 阿拉伯的個數(shù)
*/
+ (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
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者