1. 程式人生 > >Objective-C中把陣列中字典中的資料轉換成URL

Objective-C中把陣列中字典中的資料轉換成URL

學過PHP的小夥伴們都知道,PHP中的陣列的下標是允許我們自定義的,PHP中的陣列確切的說就是鍵值對。而在OC我們要用字典(Dictionary)來儲存,當然了Java用的是Map來儲存鍵值對。下面我們將實現一個極為實用的小例子,網路請求有get和post方法,兩種方法各有其優點。在表單提交時Post方法用的更多一些,URL傳值則會用到Get方法。在用PHP程式設計的時候肯定會經常拼接url來傳參或者請求,在IOS開發中會向伺服器通過url請求一些資料,所以對url的拼接是少不了的,下面不是什麼高深的技術,只是OC中集合類的一個小應用模組,歡迎批評指正,轉載請註明出處。

        在OC中我們如何把字典中的資料拼接成我們要請求的URL字串呢?下面有一個需求:在一個數組中有多個字典,每個字典中的資料是請求一條URL中的引數,我們需要做的就是把每個字典轉換為URL,在把每個URL放在陣列中返回。下面的程式碼還是對陣列,字串和字典的具體的應用。

        上面的需求對於熟練操作字典,陣列,字串的小夥伴們應該是小菜一碟吧,今天寫出來就是想記錄一些學習的點點滴滴,上面的時拼接URL, 下面的部落格會URL拆分成字典,敬請期待吧!廢話少說,還是程式碼走起。

        1.生成測試資料

    字典中的鍵我們一般是通過巨集定義來初始化的,目的是便於維護,提高程式碼編寫效率下面是對key的巨集定義:

1 2 3 4 5 //定義字典鍵 #define A @"a" #define B @"b" #define C @"c" #define D @"d"

    ​    ​    ​新增測試資料

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 //容納字串拼接後的字串 NSMutableArray *arrayURL = [NSMutableArray new]; //存放可變字典的陣列 NSMutableArray *arrayDic = [NSMutableArray 
new]; //生成測試資料 NSDictionary *dic1 = @{A : @10, B : @20}; NSDictionary *dic2 = @{A : @10, B : @20, C : @30}; NSDictionary *dic3 = @{A : @10, C : @30}; //把陣列加入字典 [arrayDic addObject:dic1]; [arrayDic addObject:dic2]; [arrayDic addObject:dic3];

     ​    ​2.接下來我們要做的就是把上面可變陣列中的字典中的資料轉換為URL,轉換的具體過程如下

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

相關推薦

Objective-C陣列字典資料轉換URL

學過PHP的小夥伴們都知道,PHP中的陣列的下標是允許我們自定義的,PHP中的陣列確切的說就是鍵值對。而在OC我們要用字典(Dictionary)來儲存,當然了Java用的是Map來儲存鍵值對。下面我們將實現一個極為實用的小例子,網路請求有get和post方法,兩種方

在Eclipse Java 工程即普通工程 轉換 web 工程的方法

因為使用Maven生成的專案是java的project. 我到現在還沒研究到生成web的工程.. 之前也用過-DarchetypeArtifactId=maven-archetype-webapp的屬性.. 生成的工程還是java型別的. 以前也遇到過類似問題. 折磨半天才弄

Objective-C 字串、陣列字典及型別判斷

1、字串 NSLog *str = @"Hello IOS"; @符號:表示強制型別轉換,不加@表示C語言型別的字串,加@表示NSString型別資料。 %@:NSString型別的字串 2、陣列 建立陣列的3中方式: (1)通過@符號建立: NS

Androidassets目錄下所有圖片轉換bitmap存入list集合

InputStream open(String fileName);//以順序讀取模式開啟檔案,預設模式為ACCESS_STREAMING InputStream open(String fileN

C# 陣列字典問題

一 . 陣列(List) 1 . 建立陣列 //建立陣列 List<string> list = new List<string>(); // Example L

C++字元陣列與string的相互轉換

字元陣列轉化成string型別 char ch [] = “ABCDEFG”; string str(ch);//也可string str = ch; 或者 char ch [] = “ABCDEFG”; string str; str = ch;//在原有基

C#位元組陣列(byte[])和字串相互轉換

轉換過程主要使用到System.Text.Encoding名稱空間下的類 1. 字串轉換成位元組陣列byte[]: string str = "This is test string"; byte[] byteArray = System.Text.Encoding.De

Objective-c開發教程--如何在專案使用AFNetworking

AFNetworking 是 iOS 一個使用很方便的網路開發框架。今天我們就簡單介紹如何在我們的專案中使用它。 1、從官網下載最新的AFNetworking程式碼。 2、將AFNetWorking和UIKit+AFNetworking資料夾匯入專案3、新增類庫 Secur

Pythoncsv檔案的資訊寫入字典指令碼(嘗試)

該段程式碼,只供參考,與期望不符合,後期會附上,完成的指令碼原始碼! #coding=utf8 import csv class GenExceptData(object): def __init__(self): try:

VBA_Excel某一區域的內容讀入到陣列/陣列的內容寫入到Excel

1 把Excel某一區域的內容讀入到陣列中: Dim strArray() As Variant Dim wk_data As Variant Set wk_data = Sheets("Sheet1") strArray = wk_data.Range("A1:CV100

使用gson解析json後怎麼陣列放到listview

json資料是這個: {"total":100,"rows":[{"key":"key1","value":"value1"},{"key":"key2","value":"value2"}]} 結構是這樣的 public class A {  public int to

c++字元陣列或者字串的內容在VS debug環境不能完全顯示

 很可能是VS的debug字元緩衝區有大小的限制,因此如果一個字元陣列或者字串比較長的話,在debug環境中的watch視窗中不能完全顯示,如果忘記了,很可能認為程式寫的不對,其實是因為不能全部顯示,讓我除錯了好長一段時

Java的輸入和輸出、if...else if...else判斷、Java列印陣列、Java陣列排序、檢視函式方法的原始碼、命令列引數

Java的輸入和輸出: 輸入: import java.util.Scanner Scanner s = new Scanner(System.in); //通過new Scanner(System.in)建立一個Scanner物件,控制檯會一直等待輸入,直到敲回車鍵

Javascript陣列在記憶體是如何儲存的?

大家在日常編碼中,最長碰到的是陣列和物件的操作,各種增刪改查,但是你真的瞭解陣列和物件麼?陣列的最基本概念就不解釋了,詳情看MDN文件——陣列 今天我們主要講一下陣列的記憶體模型。 陣列的記憶體模型 J

javabyte陣列與int型別的轉換(兩種方式)

java中byte陣列與int型別的轉換,在網路程式設計中這個演算法是最基本的演算法,我們都知道,在socket傳輸中,傳送、者接收的資料都是 byte陣列,但是int型別是4個byte組成的,如何把一個整形int轉換成byte陣列,同時如何把一個長度為4的byte陣列轉

javabyte陣列與int型別的轉換 兩種方式

                java中byte陣列與int型別的轉換,在網路程式設計中這個演算法是最基本的演算法,我們都知道,在socket傳輸中,傳送、者接收的資料都是 byte陣列,但是int型別是4個byte組成的,如何把一個整形int轉換成byte陣列,同時如何把一個長度為4的byte陣列轉換為i

前端頁面form表單資料轉換為json格式

$.fn.serializeJson=function(){               var serializeObj={};               var array=this.serializeArray();               var str=th

Androidbyte陣列與Sting的互相轉換

1、string轉化為byte[]陣列 String str = "abcd"; byte[] bs = str.getBytes(); 2、byte[]陣列轉化為string字串 /*String str1 = "abcd"; byte[] bs1 = str1.g

pyqt5QtDesigner生成的ui檔案轉換為Python檔案

1. 安裝python34     python安裝路徑:C:/Python34     安裝完成後需要將python的安裝路徑新增到path環境變數中, 2. 安裝PyQt5      PyQt的版本版本必須與python的版本一致,      安裝PyQt5時會自動搜尋python的安裝路徑(C:/Pyt

Excel資料轉換Sql語句

假如excel表格中有A、B、C三列資料,希望匯入到資料庫users表中,對應的欄位分別是name,sex,age ,在你的excel表格中增加一列,利用excel的公式自動生成sql語句,方法如下:1、在你的excel表格中增加一列2、在第一行的D列,就是D1中輸入公式: