亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Objective-C處理空字符串和頁(yè)面?zhèn)髦导白远x拷貝

 更新時(shí)間:2016年01月20日 09:17:38   作者:芳草小腳丫  
這篇文章主要介紹了Objective-C處理空字符串和頁(yè)面?zhèn)髦导白远x拷貝的相關(guān)方法,在iOS應(yīng)用項(xiàng)目開發(fā)中經(jīng)常會(huì)用到,需要的朋友可以參考下

空字符串
在ios應(yīng)用中,如果從網(wǎng)絡(luò)請(qǐng)求數(shù)據(jù),返回json或者是xml格式的數(shù)據(jù)時(shí),經(jīng)常會(huì)遇到空串,一般接口是用java等語(yǔ)言寫的,如果是安卓,因?yàn)樵凑Z(yǔ)言都是java,只需判斷是否等于null即可,但是在ios中會(huì)出現(xiàn)各種各項(xiàng)的形式,比如null,(null),<null>。
如果單純用

復(fù)制代碼 代碼如下:

string!=nil;

無法判斷出尖括號(hào)的空串

完整判斷方法

復(fù)制代碼 代碼如下:

-(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;
}

對(duì)空串進(jìn)行發(fā)消息會(huì)出現(xiàn)各種各樣的崩潰,讓人很無語(yǔ),同理轉(zhuǎn)換字符串
復(fù)制代碼 代碼如下:

-(NSString*)convertNull:(id)object{
 
    // 轉(zhuǎn)換空串
 
    if ([object isEqual:[NSNull null]]) {
        return @" ";
    }
    else if ([object isKindOfClass:[NSNull class]])
    {
        return @" ";
    }
    else if (object==nil){
        return @"無";
    }
    return object;
    
}

頁(yè)面?zhèn)髦岛妥远x拷貝
做網(wǎng)絡(luò)相關(guān)的一些問題時(shí),有時(shí)候值比較多,自定義個(gè)一個(gè)類,想把這個(gè)類的整個(gè)部分的值傳到另一個(gè)界面,這就涉及到拷貝問題,自定義的類里一定要實(shí)現(xiàn)NSCopying協(xié)議,寫上拷貝的方法- (id)copyWithZone:(NSZone *)zone,這樣這個(gè)類才會(huì)像NSString類一樣,可以用=賦值拷貝。
自定義一個(gè)TypesItem類,繼承自NSObject,含有三個(gè)變量(可自定義添加多個(gè))

TypesItem.h

復(fù)制代碼 代碼如下:

#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這三個(gè)變量之外

復(fù)制代碼 代碼如下:

@synthesize type_id,type_memo,type_name;


還要實(shí)現(xiàn)NSCopying協(xié)議方法
復(fù)制代碼 代碼如下:

- (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;
}


頁(yè)面間傳值,假設(shè)A->B,A中的TypeItem的值要傳到B中

在B中.h文件寫上代碼

復(fù)制代碼 代碼如下:

@property(nonatomic,copy) TypesItem *selectedItem;

在B.m文件中
復(fù)制代碼 代碼如下:

@synthesize selectedItem;

在A.m中跳轉(zhuǎn)到B之前加上代碼
復(fù)制代碼 代碼如下:

BViewController *BVC = [[[BViewController alloc] initWithNibName:@"BViewController" bundle:nil] autorelease];
  
    // item為TypeItem類型,且不為空
  
    BVC.selectedItem = item;
    
    [self.navigationController pushViewController:BVC animated:YES];

PS:頁(yè)面間傳值時(shí),此處的BVC.selectedItem中的BVC一定與push過去的BVC保持一致,否則push到B界面中的selectedItem值必定為null。

相關(guān)文章

  • 解決iOS調(diào)起微信支付顯示系統(tǒng)繁忙問題

    解決iOS調(diào)起微信支付顯示系統(tǒng)繁忙問題

    這篇文章主要介紹了解決iOS調(diào)起微信支付顯示系統(tǒng)繁忙問題,需要的朋友可以參考下
    2016-12-12
  • ios實(shí)現(xiàn)tableView頂部彈簧圖片效果

    ios實(shí)現(xiàn)tableView頂部彈簧圖片效果

    這篇文章主要為大家詳細(xì)介紹了ios實(shí)現(xiàn)tableView頂部彈簧圖片效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • iOS中封裝.framework及使用的方法詳解

    iOS中封裝.framework及使用的方法詳解

    這篇文章主要給大家介紹了關(guān)于iOS中封裝.framework及使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-04-04
  • iOS逆向工程之Hopper中的ARM指令詳解

    iOS逆向工程之Hopper中的ARM指令詳解

    這篇文章主要介紹了iOS逆向工程之Hopper中的ARM指令的相關(guān)資料,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-09-09
  • 淺談關(guān)于如何檢測(cè)iOS14本地網(wǎng)絡(luò)權(quán)限的一些思路

    淺談關(guān)于如何檢測(cè)iOS14本地網(wǎng)絡(luò)權(quán)限的一些思路

    這篇文章主要介紹了淺談關(guān)于如何檢測(cè)iOS14本地網(wǎng)絡(luò)權(quán)限的一些思路,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • iOS拍照后圖片自動(dòng)旋轉(zhuǎn)90度的完美解決方法

    iOS拍照后圖片自動(dòng)旋轉(zhuǎn)90度的完美解決方法

    今天開發(fā)一個(gè)拍照獲取照片的功能的時(shí)候, 發(fā)現(xiàn)上傳之后圖片會(huì)自動(dòng)旋轉(zhuǎn)90.在測(cè)試中發(fā)現(xiàn)只要是圖片大于2M, 系統(tǒng)就會(huì)自動(dòng)翻轉(zhuǎn)照片。下面小編通過本文給大家分享下解決辦法
    2016-12-12
  • 混合棧跳轉(zhuǎn)導(dǎo)致Flutter頁(yè)面事件卡死問題解決

    混合棧跳轉(zhuǎn)導(dǎo)致Flutter頁(yè)面事件卡死問題解決

    這篇文章主要為大家介紹了混合棧跳轉(zhuǎn)導(dǎo)致Flutter頁(yè)面事件卡死問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • IOS代碼修改音量實(shí)例詳解

    IOS代碼修改音量實(shí)例詳解

    這篇文章主要介紹了IOS代碼修改音量實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • 為按鈕位置配置不同的IOS背景

    為按鈕位置配置不同的IOS背景

    這篇文章主要介紹了為按鈕位置配置不同的IOS背景,面對(duì)多個(gè)按鈕如何配置不同的IOS背景,需要的朋友可以參考下
    2015-07-07
  • IOS 圖文混排(CoreText.framework)詳解及實(shí)例

    IOS 圖文混排(CoreText.framework)詳解及實(shí)例

    這篇文章主要介紹了IOS 圖文混排(CoreText.framework)詳解及實(shí)例的相關(guān)資料,這里對(duì)IOS 的圖文混排進(jìn)行了詳細(xì)介紹,并附代碼實(shí)例,和實(shí)現(xiàn)效果圖,需要的朋友可以參考下
    2016-11-11

最新評(píng)論