IOS開發中(null)與 的處理


IOS開發中(null)與<null>的處理

不小心在開發過程中,得到了(null)以及<null>的返回值,找了好長時間只找到了一個關於<null>的。

由於要根據返回值進行判斷,做出必要反應,因此必須知道返回值所代表的具體字符,在得到(null)后利用isEqual:和 @“”,NULL,@“(null)”,nil,Nil比較后均得不到正確結果,弄得不知所措了,但是還是感覺像nil,不得已,創建一個字符串,賦值為 nil,打印輸出,果然是(null),想不通的是為什么不等。最后試了一下“==”,成功了。費盡周折之后才明白原來要這樣用:

if(m_result==nil)

    NSLog(@"KDA!");

}

還有就是<null>,從網上找到了用法:

if([m_result isEqual:[NSNUll null]])

    NSLog(@"KDA!");

}

問題很簡單,找不到原因解決就難了,不由感嘆,基礎最關鍵啊。

記下,希望能幫到別人一點點就夠了。

 
案例: 請求網絡數據返回的值有的為空 ,不能直接存起來 ,必須先判斷一下
這里是登陸返回的個人信息網絡數據

{

    birthday = "<null>";

    category = "<null>";

    counum = 0;

    filename = "<null>";

    level = 0;

    name = "<null>";

    password = a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3;

    sex = 0;

    tel = 15003876305;

    uid = 61;

}

這里有多個  "<null>" 怎么處理呢

  //取出用戶名昵稱

                NSString *nickName=data[@"name"];

                

                YYCLog(@"%@",nickName);

                這里取出來的nickName為<null>

 

                //當返回的值為"<null>"用這個判斷 為這個時給他賦一個值再存起來

                if([nickName isEqual:[NSNull null]])

                {

                    nickName=@"請設置您的昵稱";

                }

                也可以用這個方法判斷空值 和上面的一種方法一樣 都可以解決這個問題

      [nickName isKindOfClass:[NSNull class]]
               用這個方法對於空值判斷比較簡單點      

 

                 //保存用戶名和密碼

                NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

                

                [defaults setObject:username forKey:@"username"];

                [defaults setObject:password forKey:@"password"];

                [defaults setObject:nickName forKey:@"nickName"];

                

                //同時存入磁盤

                [defaults synchronize];

 

      這里解決問題


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM