ios上傳數組
⑴ ios 可以傳遞數組嗎
使用方法,需要等UIWebView中的頁面載入完成之後去調用。我們在界面上拖放一個UIWebView控制項。在Load中將googlemobile載入到這個控制項中,代碼如下:
1. - (void)viewDidLoad
2. {
3. [super viewDidLoad];
4. webview.backgroundColor = [UIColor clearColor];
5. webview.scalesPageToFit =YES;
6. webview.delegate =self;
7. NSURL *url =[[NSURL alloc] initWithString:@"http://www.google.com.hk/m?gl=CN&hl=zh_CN&source=ihp"];
8.
9. NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
10. [webview loadRequest:request];
11. }
我們在webViewDidFinishLoad方法中就可以通過javascript操作界面元素了。
1、獲取當前頁面的url。
1. - (void)webViewDidFinishLoad:(UIWebView *)webView {
2. NSString *currentURL = [webView :@"document.location.href"];
3. }
2、獲取頁面title:
1. - (void)webViewDidFinishLoad:(UIWebView *)webView {
2. NSString *currentURL = [webView :@"document.location.href"];
3.
4. NSString *title = [webview :@"document.title"];
5. }
3、修改界面元素的值。
1. NSString *js_result = [webView :@"document.getElementsByName('q')[0].value='朱祁林';"];
4、表單提交:
1. NSString *js_result2 = [webView :@"document.forms[0].submit(); "];
這樣就實現了在google搜索關鍵字:「朱祁林」的功能。
5、插入js代碼
上面的功能我們可以封裝到一個js函數中,將這個函數插入到頁面上執行,代碼如下:
1. [webView :@"var script = document.createElement('script');"
2. "script.type = 'text/javascript';"
3. "script.text = \"function myFunction() { "
4. "var field = document.getElementsByName('q')[0];"
5. "field.value='朱祁林';"
6. "document.forms[0].submit();"
7. "}\";"
8. "document.getElementsByTagName('head')[0].appendChild(script);"];
9.
10. [webView :@"myFunction();"];
看上面的代碼:
a、首先通過js創建一個script的標簽,type為'text/javascript'。
b、然後在這個標簽中插入一段字元串,這段字元串就是一個函數:myFunction,這個函數實現google自動搜索關鍵字的功能。
c、然後使用執行myFunction函數。
演示:
第一步打開google mobile網站
第二步輸入關鍵字
第三步搜素
總結:這篇文章主要是講解了的用法,它的功能非常的強大,用起來非常簡單,通過它我們可以很方便的操作uiwebview中的頁面元素。
⑵ ios 怎麼把固定的16進制數組傳給藍牙硬體
數據傳輸肯定是二進制的,所以把數組轉成NSData類型,然後調用寫入藍牙的方法,將NSData傳輸過去就好了
⑶ 後台需要索引數組參數,iOS怎麼傳
不會iOS,不過你這種情況最常見的就是方法post 一個JSON字元串給php。。。
因為看你標簽有php,就默認php是後台了,php使用如下方式接受
$params=file_get_contents('php://input');
$params=json_decode($params,true);
⑷ 在ios中怎麼用nsuserdefaluts傳數組
ios沙盒機制確保每個app只能在自己的沙盒內存取信息,所以你只能清除當前app的信息,而不能清除其他app的信息。清除NSUserDefault的數據,必須知道每一個你想要清除的數據的key,然後通過 [UserDefults removeObjectForKey:key]; 逐項進行清除。
⑸ ios微信分享image傳byte數組怎麼寫
1. 這是最快的方法(但相當危險),以獲得數組:
unsigned char *bytesArray = data.bytes;
NSUInteger lengthOfBytesArray = data.length;
試圖讓位元組#100之前,你應該檢查lengthOfBytesArray這樣的:
if (lengthOfBytesArray > 100 + 1)
{
unsigned char byteWithOffset100 = bytesArray[100];
}
而另一位安全和更ObjC的樣方式:
- (NSArray*) arrayOfBytesFromData:(NSData*) data
{
if (data.length > 0)
{
NSMutableArray *array = [NSMutableArray arrayWithCapacity:data.length];
NSUInteger i = 0;
for (i = 0; i < data.length; i++)
{
unsigned char byteFromArray = data.bytes[i];
[array addObject:[NSValue valueWithBytes:&byteFromArray
objCType:@encode(unsigned char)]];
}
return [NSArray arrayWithArray:array];
}
return nil;
}
2. 如果你只是想讀他們,有一個真正:
unsigned char *bytes = [data bytes];
如果你要編輯的數據,還有關於NSData的才會這樣。
// Make your array to hold the bytes
NSUInteger length = [data length];
unsigned char *bytes = malloc( length * sizeof(unsigned char) );
// Get the data
[data getBytes:bytes length:length];
註:請不要忘記-如果你復制數據,你也必須調用free(bytes)點;)
⑹ ios post請求 參數是數組格式 怎麼發生請求
隨著asihttprequest的停止更新,許多人都轉向了AFNetworking、 MKNetworkKit.我也是其中一個。於是我從網上找了許多文章作參考,但是結果都是失敗告終。研究了好久都搞不透,最後還是請人幫忙搞定了。經常從網上索取免費資料的一員,要有回報的思想,也為了讓更多的人少走些彎路,所以下面是代碼:(有錯誤可以指出)
首先:將AFNetworking、UIKit+AFNetworking 加入到工程
然後在要使用的地方
#import "AFHTTPRequestOperationManager.h"
#import "AFHTTPSessionManager.h"
AFHTTPRequestOperationManager的post有兩個方法,一個是普通的post,另一個是可以上傳圖片的
1.上傳圖片:
AFHTTPRequestOperationManager *manager = [];
manager.responseSerializer.acceptableContentTypes = [NSSetsetWithObject:@"text/html"];
NSDictionary *parameters =@{@"參數1":@"value1",@"參數2":@"value2"、、、};
NSData *imageData = UIImageJPEGRepresentation([UIImage imageNamed:@"1.png"], 1.0);
[manager POST:@"替換成你要訪問的地址"parameters::^(id<AFMultipartFormData> formData) {
[formData appendPartWithFileData :imageData name:@"1" fileName:@"1.png" mimeType:@"image/jpeg"];
} success:^(AFHTTPRequestOperation *operation,id responseObject) {
NSLog(@"Success: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation,NSError *error) {
NSLog(@"Error: %@", error);
}];
這個方法可以上傳圖片,如果不用上傳圖片,可以把這句去掉[formData appendPartWithFileData :imageDataname:@"1"fileName:@"1.png"mimeType:@"image/jpeg"]
2.普通的post
AFHTTPRequestOperationManager *manager = [];
manager.responseSerializer.acceptableContentTypes = [NSSetsetWithObject:@"text/html"];
NSDictionary *parameters = @{@"參數1":@"value1",@"參數2":@"value2"、、、};
[managerPOST:@"替換成你要訪問的地址"parameters:parameters
success:^(AFHTTPRequestOperation *operation,id responseObject) {
NSLog(@"Success: %@", responseObject);
}failure:^(AFHTTPRequestOperation *operation,NSError *error) {
NSLog(@"Error: %@", error);
}];
⑺ ios 通知中心可以傳遞數組嗎
1. 通知中心概述
通知中心實際上是在程序內部提供了消息廣播的一種機制。通知中心不能在進程間進行通信。實際上就是一個二傳手,把接收到的消息,根據內部的一個消息轉發表,來將消息轉發給需要的對象。通知中心是基於觀察者模式的,它允許注冊、刪除觀察者。
一個NSNotificationCenter可以有許多的通知消息NSNotification,對於每一個NSNotification可以有很多的觀察者Observer來接收通知。
2. 通知中心兩個重要的類
NSNotificationCenter:這是iOS中通知中心的靈魂,由該類實現了觀察者模式,並給開發者提供了諸如注冊、刪除觀察者的介面,我們可以通過一個單例來獲得它的實例(注,一個程序內部只有一個NSNotificationCenter實例對象)。
NSNotification:這是消息攜帶的載體,通過它,可以把消息內容傳遞給觀察者。其中:name對應消息名稱標示。object一般是發送者本身、dictionary則是傳遞的消息內容。
3. 通知中心如何使用
通過下圖,我們可以看出,通知中心的使用可以分為4個步驟。
這里需要額外提一點的是:發送消息不僅僅可以有用戶發起,也可以是系統發起。
當我們注冊了某個消息的觀察者後,如果有了對應的消息,則觀察者會收到相應的消息,並展開處理。這里需要注意的是,當使用完消息之後,不想在接收到消息,則需要把觀察者移除,否則會出現錯誤。
注冊通知:即要在什麼地方接受消息
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector (mytest:) name:@" postData " object:nil];
參數介紹:
addObserver:觀察者,即在什麼地方接收通知;
selector:收到通知後調用何種方法,即回調函數;
name:通知的名字,也是通知的唯一標示,編譯器就通過這個找到通知的。
發送通知:調用觀察者處的方法。
[[NSNotificationCenter defaultCenter] postNotificationName:@" postData "object:searchFriendArray];
⑻ ios 怎麼往數組的數組中添加數據
你那樣定義後,不能直接使用,因為未對當前數組變數進行實例化,也就沒有進行內存分配這里給你推薦兩種方法。1、初始化時設置他的數組大小string[] myarr = new string[2];myarr[0] = "1";myarr[1]="第二個值";2、初始化時設置他的數組大小並賦值string[] myarr = new string[]{"1","2"};3、可以動態改變數組大小的數組List<string> listArr = new List<string>();listArr.add("添加的值");listArr.add("再添加一個值");listArr.add("OK");listArr.RemoveAt(1);//刪除索引1的項....//該方法操作數組更加靈活。如果不需要動態操作數組的話,可以不使用該方法。string[] myarr = listArr.ToArray();//將List類型轉成string[]類型的數組