时间:2021-05-20
空字符串
在ios应用中,如果从网络请求数据,返回json或者是xml格式的数据时,经常会遇到空串,一般接口是用java等语言写的,如果是安卓,因为源语言都是java,只需判断是否等于null即可,但是在ios中会出现各种各项的形式,比如null,(null),<null>。
如果单纯用
复制代码 代码如下:
string!=nil;
无法判断出尖括号的空串
完整判断方法
复制代码 代码如下:
-(BOOL)isNull:(id)object
{
// 判断是否为空串
if ([object isEqual:[NSNull null]]) {
return NO;
}
else if ([object isKindOfClass:[NSNull class]])
{
return NO;
}
else if (object==nil){
return NO;
}
return YES;
}
对空串进行发消息会出现各种各样的崩溃,让人很无语,同理转换字符串
复制代码 代码如下:
-(NSString*)convertNull:(id)object{
// 转换空串
if ([object isEqual:[NSNull null]]) {
return @" ";
}
else if ([object isKindOfClass:[NSNull class]])
{
return @" ";
}
else if (object==nil){
return @"无";
}
return object;
}
页面传值和自定义拷贝
做网络相关的一些问题时,有时候值比较多,自定义个一个类,想把这个类的整个部分的值传到另一个界面,这就涉及到拷贝问题,自定义的类里一定要实现NSCopying协议,写上拷贝的方法- (id)copyWithZone:(NSZone *)zone,这样这个类才会像NSString类一样,可以用=赋值拷贝。
自定义一个TypesItem类,继承自NSObject,含有三个变量(可自定义添加多个)
TypesItem.h
复制代码 代码如下:
#import <Foundation/Foundation.h>
@interface TypesItem : NSObject<NSCopying>
{
NSString *type_id;
NSString *type_memo;
NSString *type_name;
}
@property (nonatomic,copy) NSString *type_id;
@property (nonatomic,copy) NSString *type_memo;
@property (nonatomic,copy) NSString *type_name;
@end
TypesItem.m文件中,除了要synthesize这三个变量之外
复制代码 代码如下:
@synthesize type_id,type_memo,type_name;
还要实现NSCopying协议方法
复制代码 代码如下:
- (id)copyWithZone:(NSZone *)zone
- (id)copyWithZone:(NSZone *)zone
{
TypesItem *newItem = [[TypesItem allocWithZone:zone] init];
newItem.type_name = self.type_name;
newItem.type_id = self.type_id;
newItem.type_memo = self.type_memo;
return newItem;
}
页面间传值,假设A->B,A中的TypeItem的值要传到B中
在B中.h文件写上代码
复制代码 代码如下:
@property(nonatomic,copy) TypesItem *selectedItem;
在B.m文件中
复制代码 代码如下:
@synthesize selectedItem;
在A.m中跳转到B之前加上代码
复制代码 代码如下:
BViewController *BVC = [[[BViewController alloc] initWithNibName:@"BViewController" bundle:nil] autorelease];
// item为TypeItem类型,且不为空
BVC.selectedItem = item;
[self.navigationController pushViewController:BVC animated:YES];
PS:页面间传值时,此处的BVC.selectedItem中的BVC一定与push过去的BVC保持一致,否则push到B界面中的selectedItem值必定为null。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Objective-C简单封装字符串的存储操作,省去中间沙盒处理方式复制代码代码如下:/存储publickey和sessionID--writeContent:
实例向用户自定义函数发送数组中的值,并返回一个字符串:定义和用法array_reduce()函数向用户自定义函数发送数组中的值,并返回一个字符串。注释:如果数组
Python字符串常用功能汇总1、字符串的定义#定义空字符串>>>name=''#定义非空字符串>>>name="luoahong"#通过下标访问>>>name
1.逆转字符串的三种方法1.1.模拟C++中方法,定义一个空字符串来实现通过设置一个空字符串,然后讲参数中的字符串从后往前遍历,使用字符串的加法合并为新的字符串
PHP简单生成随机字符串自定义方法/***生成随机字符串*@paramstring$lenth长度*@returnstring字符串*/functionge