空字符串
在IOS運用中,假如從收集要求數據,前往json或許是XmlRss/ target=_blank class=infotextkey>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。
【Objective-C處置空字符串和頁面傳值及自界說拷貝】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!