ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

NSString,NSScanner,NSData,NSAttributedString

NSString,NSScanner,NSData,NSAttributedString 1.NSData转NSStringNSString* string [[NSString alloc] initWithData:aData encoding:NSUTF8StringEncoding];//encoding: The encoding used by data.//NSString转NSDataNSData* data [string dataUsingEncoding: NSUTF8StringEncoding];秘诀NSString都是作为方法的主体。2.NSString 有一些方便组合成文件名路径等的方法。[request url]absoluteStringhttp://121.8.165.195:8090/ecwapoa/css/login.csspath/ecwapoa/css/login.csslastPathComponentlogin.csspathExtensioncss3.格式化%%%%s表示c风格字符串%0.2f 表示带两位小数float转百分比[ NSString stringWithFormat:%.0f%%,float1 *100 ];%d表示符号整数%u表示无符号整数%x, %X 二进制整数%o 八进制整数使用NSString 的格式化大全http://blog.csdn.net/remote_roamer/article/details/7166043四舍五入float oldValue 1.051;float newValue [[NSString stringWithFormat:%.1f, oldValue] floatValue];newValue 结果为 1.1。使用NSString 的格式化大全http://blog.csdn.net/remote_roamer/article/details/71660434.作为属性规范上NSString做属性都是写成copy的它在语义上是不可变的。如果把NSMutableString赋给retain的NSString它的内容就可能会变化了。5. NSScanneris an abstract superclass of a class cluster that declares the programmatic interface for an object that scans values from an NSString object.7.去空格str[str stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];8.计算长度按汉字2字母数字1算。两个方法 CFStringEncodingExt.h头文件中 http://www.cnblogs.com/luyinghuai/archive/2011/08/18/2145031.html(1). NSStringEncoding enc CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);int length[textView.text lengthOfBytesUsingEncoding:enc];(2). -(int)charNumber:(NSString*)strtemp{int strlength 0;char* p (char*)[strtemp cStringUsingEncoding:NSUnicodeStringEncoding];int lengthByUnicode[strtemp lengthOfBytesUsingEncoding:NSUnicodeStringEncoding];for (int i0 ; ilengthByUnicode ;i){if (*p){p;strlength;}else{p;}}return strlength;}9. 获取字符串NSString的宽度Declared in UIStringDrawing.h见官方实例“The Element”—— AtomicElementTileView.m 83行UIFont * font [UIFont system...];CGSize stringSize [aString sizeWithFont:font]; 规定字符字体获取字符串Size再获取其宽度。CGFloat width stringSize.width;10.CFStringRefNSString互转CFStringRef aCFString (CFStringRef)aNSString;NSString *aNSString (NSString *)aCFString;11.比较isEqualToString- (NSComparisonResult)compare:(NSString *)string;及更多重载的函数可以做更细致的比较。NSStringNSMutableStringNSValueNSAraay用法汇总http://www.cocoachina.com/iphonedev/sdk/2010/0607/1634.html12.有时self.valuestr不起作用使用iValue[str copy];吧。13. NSPathUtilities.h文件中有对路径的一些操作函数及对NSString,NSArray的一些扩展类别。http://www.tongwenguan.com/tag/nstemporarydirectory14.NSData writeToFile 不会追加文件但不清楚是不是会先删除已存在的文件。如流新一代智能工作平台如流新一代智能工作平台15.CGRect NSStringNSStringFromCGRectCGRectFromNSString16.字符串常量Cocoa中对于大量的常量字符串系统保存了它们的引用。例如[123 retainCount]会发现返回一个很大的数。这样减少了对于这种经常使用的常量的内存占用。[[NSString alloc] initWithString:123]返回的对象就是123initWithString这个函数返回的就是123查看 NSStrin* str [[NSString alloc] initWithString:123]; str123;发现两个str指针地址相同。并发现NSLog(str retainCount:%u,[str retainCount]);值总是4294967295即0xFFFFFFFF。17. 下面两段方法作用都是对有汉字的字符串编码(1)NSString* str汉字;str[str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];NSLog(%,str);//stringByAddingPercentEscapesUsingEncoding 会把 [0-9a-zA-Z]、一些特殊符号“$-_.!*(),”[不包括双引号]、以及某些保留字之外的字符做编码。stringByAddingPercentEscapesUsingEncoding可以用在整个url上。测试被编码的字符包括 %; 等%被编码为%25(2)- (NSString *)urlEncode{NSString *result (NSString *) CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)self, NULL, CFSTR(:/?#[]!$’()*,;), kCFStringEncodingUTF8);return [result autorelease];}//上面urlEncode函数中:/?#[]!$’()*,;这些符号也都做了编码它比stringByAddingPercentEscapesUsingEncoding多做了$!*(),字符的编码urlEncode这个函数只能用在参数值上不能用在整个url上。测试被编码的字符包括 %等%被编码为%25//解码- (NSString *)urlDecode{NSString *decodeString [self stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];return decodeString;}18.NSAttributedStringNSMutableAttributedString 让Label显示富文本NSAttributedString可以使一个字符串显示的多样化ios对它支持的不如mac好。首先导入CoreText.framework#importCoreText/CoreText.h
返回列表