欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

string!=nil;

無法判斷出尖括號的空串

完整判斷方法

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

對空串進行發(fā)消息會出現(xiàn)各種各樣的崩潰,讓人很無語,同理轉(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;
    
}

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

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這三個變量之外

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

@synthesize type_id,type_memo,type_name;


還要實現(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;
}


頁面間傳值,假設(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:頁面間傳值時,此處的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實現(xiàn)tableView頂部彈簧圖片效果

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

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

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

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

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

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

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

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

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

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

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

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

    IOS代碼修改音量實例詳解

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

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

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

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

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

最新評論