iOS開發拾記 -- 字典的遍歷 & 簡單的網絡請求 & TableView滾動時收起鍵盤

NSDictionary的遍歷

//方法一
NSEnumerator *enum = [myDict keyEnumerator];
id key;
while ( key = [enum nextObject] ) {
   NSLog("%@ : %@", key, [myDict objectForKey:key]);
}
    
//方法二 
for (NSString *key in myDict) {
   NSLog("%@ : %@", key, [myDict objectForKey:key]);
}

簡單的網絡請求

// GET
NSString *urlStr = [NSString stringWithFormat:@"%@/food/?keyword=%@", baseURL, searchText];
NSURL *url = [NSURL URLWithString:[urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

NSURLRequest *request = [NSURLRequest requestWithURL:url];

NSURLConnection *conn = [NSURLConnection connectionWithRequest:request delegate:self];
[conn start];

// POST
NSString *urlStr = [NSString stringWithFormat:@"%@/user/login", baseURL];
NSURL *url = [NSURL URLWithString:[urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];

NSString *dataStr = [NSString stringWithFormat:@"user_tel=%@&user_pass=%@", phone, password];
NSData *data = [dataStr dataUsingEncoding:NSUTF8StringEncoding];

[request setHTTPBody:data];
[request setHTTPMethod:@"POST"];
[request setTimeoutInterval:5];

NSURLConnection *conn = [NSURLConnection connectionWithRequest:request delegate:self];
[conn start];

別忘了實現網絡請求代理方法:

#pragma mark - NSURLConnectionData Delegate

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
    resultData = [NSMutableData data];
}

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
    [resultData appendData:data];
}

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
    NSLog(@"請求錯誤:%@", error);
    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"請求失敗"
                                                        message:@"網絡堵車,請檢查網絡!"
                                                       delegate:self
                                              cancelButtonTitle:@"好"
                                              otherButtonTitles:nil, nil];
    [alertView show];
}

- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
    if (resultData.length > 0) {
        // type your code here ...
    }
}

如何在用戶滾動UITableView時收起鍵盤

// UIScrollView Delegate
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    [mySearchController.searchBar resignFirstResponder];
}

提示:UITableView繼承自UIScrollView

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,180評論 4 61
  • 夏日的風 ,富含滿滿的涼爽因子 吹在臉頰, 歡喜不已 這是入夏以來,最舒適的一天 閉上眼睛,你會聽到大自然在唱歌 ...
    簡單等于happy閱讀 253評論 2 2
  • 許多事情在遠處看的時候感覺非常簡單,真要自己動手去做的時候才真正感覺到了并非是想象的那么容易。 最近有了特...
    秋景001閱讀 841評論 0 0
  • 實際編程和面試都會遇到的典型問題。 如何實現可迭代對象和迭代器對象 如何使用生成器函數實現可迭代對象 如何進行反向...
    dreamkong閱讀 202評論 0 2