คำถามติดแท็ก nsdictionary

สมาชิกของ Cocoa Objective-C framework ของ Apple วัตถุ NSDictionary จัดการการเชื่อมโยงของคีย์และค่าต่างๆ

7
สำหรับแต่ละลูปใน Objective-C สำหรับการเข้าถึงพจนานุกรม NSMutable
ฉันพบปัญหาในการเข้าถึงคีย์และค่าพจนานุกรมที่ไม่แน่นอนใน Objective-C สมมติว่าฉันมีสิ่งนี้: NSMutableDictionary *xyz=[[NSMutableDictionary alloc] init]; ฉันสามารถตั้งค่าคีย์และค่าต่างๆ ตอนนี้ฉันต้องการเข้าถึงแต่ละคีย์และค่า แต่ฉันไม่ทราบจำนวนชุดของคีย์ ใน PHP มันง่ายมากมีดังนี้: foreach ($xyz as $key => $value) เป็นไปได้อย่างไรใน Objective-C

19
จะผนวกองค์ประกอบเข้ากับพจนานุกรมใน Swift ได้อย่างไร
ฉันมีพจนานุกรมง่ายๆที่กำหนดไว้เช่น: var dict : NSDictionary = [ 1 : "abc", 2 : "cde"] ตอนนี้ฉันต้องการเพิ่มองค์ประกอบลงในพจนานุกรมนี้: 3 : "efg" ฉันจะต่อท้าย3 : "efg"พจนานุกรมที่มีอยู่นี้ได้อย่างไร

3
มีวิธีการทำซ้ำในพจนานุกรมหรือไม่?
ฉันรู้ว่าNSDictionariesเป็นสิ่งที่คุณต้องการในการสั่งซื้อที่จะได้รับkey valueแต่ฉันจะทำซ้ำได้ทั้งหมดkeysและvaluesในNSDictionaryเพื่อที่ฉันจะรู้ว่ามีกุญแจอะไรและมีคุณค่าอะไรบ้าง? ฉันรู้ว่ามีสิ่งที่เรียกว่าสำหรับในวงJavaScriptใน มีอะไรที่คล้ายกันObjective-Cไหม?

2
ปฏิบัติที่ดีที่สุด? - Array / Dictionary เป็นคุณสมบัติของคอร์ Data Entity [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ปรับปรุงคำถามนี้ ฉันยังใหม่กับ Core Data ฉันสังเกตเห็นว่าประเภทคอลเลกชันไม่สามารถใช้งานได้เป็นประเภทแอททริบิวต์และต้องการทราบว่าวิธีที่มีประสิทธิภาพมากที่สุดในการจัดเก็บข้อมูลประเภทอาเรย์ / พจนานุกรมเป็นแอตทริบิวต์ (เช่นองค์ประกอบที่ประกอบขึ้นเป็นที่อยู่เช่นถนนเมือง ฯลฯ ) ไม่ต้องการเอนทิตีที่แยกต่างหากและจัดเก็บเป็นพจนานุกรม / อาร์เรย์ได้สะดวกกว่าแอททริบิวต์ / ฟิลด์ที่แยกต่างหาก) ขอบคุณ.

6
ฉันจะแปลง NSDictionary เป็น NSData และในทางกลับกันได้อย่างไร
ฉันกำลังส่งNSStringและUIImageใช้บลูทู ธ ฉันตัดสินใจที่จะเก็บทั้งในและแล้วแปลงพจนานุกรมNSDictionaryNSData คำถามของฉันคือวิธีการแปลงNSDictionaryเป็นNSDataและวีซ่าในทางกลับกัน?

12
วิธีใช้ NSJSONSerialization
ฉันมีสตริง JSON (จาก PHP json_encode()ที่มีลักษณะเช่นนี้: [{"id": "1", "name":"Aaa"}, {"id": "2", "name":"Bbb"}] ฉันต้องการแยกวิเคราะห์สิ่งนี้ลงในโครงสร้างข้อมูลบางอย่างสำหรับแอพ iPhone ของฉัน ผมคิดว่าสิ่งที่ดีที่สุดสำหรับผมที่จะมีอาร์เรย์ของพจนานุกรมดังนั้นองค์ประกอบ 0 ในอาร์เรย์เป็นพจนานุกรมที่มีปุ่มและ"id" => "1""name" => "Aaa" ฉันไม่เข้าใจวิธีการจัดNSJSONSerializationเก็บข้อมูลแม้ว่า นี่คือรหัสของฉัน: NSError *e = nil; NSDictionary *JSON = [NSJSONSerialization JSONObjectWithData: data options: NSJSONReadingMutableContainers error: &e]; นี่เป็นเพียงสิ่งที่ฉันเห็นเป็นตัวอย่างในเว็บไซต์อื่น ผมได้พยายามที่จะได้รับการอ่านในที่JSONวัตถุโดยการพิมพ์ออกมาจำนวนขององค์ประกอบและสิ่งที่ต้องการ EXC_BAD_ACCESSแต่ฉันมักจะได้รับ ฉันจะใช้NSJSONSerializationวิเคราะห์ JSON ด้านบนและแปลงเป็นโครงสร้างข้อมูลที่ฉันกล่าวถึงได้อย่างไร

5
ฉันจะ deserialize สตริง JSON เป็น NSDictionary ได้อย่างไร (สำหรับ iOS 5+)
ในแอพ iOS 5 ของฉันฉันมีNSStringสตริงที่มีสตริง JSON ฉันต้องการยกเลิกการทำให้เป็นตัวแทนของสตริง JSON เป็นNSDictionaryวัตถุพื้นเมือง "{\"password\" : \"1234\", \"user\" : \"andreas\"}" ฉันลองวิธีต่อไปนี้: NSDictionary *json = [NSJSONSerialization JSONObjectWithData:@"{\"2\":\"3\"}" options:NSJSONReadingMutableContainers error:&e]; แต่มันจะพ่นข้อผิดพลาดรันไทม์ ผมทำอะไรผิดหรือเปล่า? -[__NSCFConstantString bytes]: unrecognized selector sent to instance 0x1372c *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFConstantString bytes]: unrecognized selector sent to instance 0x1372c'

9
เพิ่มหลายรายการใน HashMap พร้อมกันในหนึ่งคำสั่ง
ฉันต้องการเริ่มต้น HashMap คงที่และต้องการทำในคำสั่งบรรทัดเดียว หลีกเลี่ยง sth เช่นนี้ hashMap.put("One", new Integer(1)); // adding value into HashMap hashMap.put("Two", new Integer(2)); hashMap.put("Three", new Integer(3)); คล้ายกับในวัตถุประสงค์ C: [NSDictionary dictionaryWithObjectsAndKeys: @"w",[NSNumber numberWithInt:1], @"K",[NSNumber numberWithInt:2], @"e",[NSNumber numberWithInt:4], @"z",[NSNumber numberWithInt:5], @"l",[NSNumber numberWithInt:6], nil] ฉันไม่พบตัวอย่างใด ๆ ที่แสดงวิธีการทำเช่นนี้เมื่อดูจำนวนมาก

2
NSDictionary - ต้องตรวจสอบว่าพจนานุกรมมีคู่คีย์ - ค่าหรือไม่
ฉันต้องการถามบางสิ่งดังต่อไปนี้ สมมติว่าฉันมีพจนานุกรม NSMutableDictionary *xyz=[[NSMutableDictionary alloc] init]; [xyz setValue:@"sagar" forKey:@"s"]; [xyz setValue:@"amit" forKey:@"a"]; [xyz setValue:@"nirav" forKey:@"n"]; [xyz setValue:@"abhishek" forKey:@"a"]; [xyz setValue:@"xrox" forKey:@"x"]; ตอนนี้ต้องตรวจสอบดังนี้ [xyz มีค่าคีย์ "b" ?? คู่หรือเปล่า? คำถามคืออย่างไร? คำถามอื่น ๆ คือจะนับคู่คีย์ - ค่าทั้งหมดได้อย่างไร? ยกตัวอย่างเช่น NSInteger mCount=[xyz keyCounts];

6
การใช้ NSPredicate เพื่อกรอง NSArray ตามคีย์ NSDictionary
ฉันมีพจนานุกรมมากมาย ฉันต้องการกรองอาร์เรย์ตามคีย์ ฉันลองสิ่งนี้: NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(SPORT == %@)", @"Football"]; NSArray *filteredArray = [data filteredArrayUsingPredicate:predicate]; ไม่ได้ผลฉันไม่ได้รับผลลัพธ์ ฉันคิดว่าฉันทำอะไรผิด ฉันรู้ว่านี่เป็นวิธีการถ้า "SPORT" เป็นไอวาร์ ฉันคิดว่ามันอาจจะแตกต่างกันถ้าเป็นกุญแจ อย่างไรก็ตามฉันไม่สามารถหาตัวอย่างได้ ขอบคุณ อัปเดต ฉันเพิ่มเครื่องหมายคำพูดรอบ ๆ สตริงที่ฉันกำลังค้นหา NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(SPORT == '%@')", @"Football"]; มันยังไม่ทำงาน อัปเดต 2 แก้ไขได้ จริงๆแล้วฉันต้องลบเครื่องหมายคำพูดเดียวซึ่งดูเหมือนจะขัดกับสิ่งที่ไกด์พูด ปัญหาที่แท้จริงของฉันคือฉันมีอาร์เรย์ที่ซ้อนกันและฉันไม่ได้ประเมินพจนานุกรมจริงๆ หัวกระดูกเคลื่อน

6
วิธีการเพิ่ม NSDictionary
ฉันใช้ a NSMutableArrayและตระหนักว่าการใช้พจนานุกรมนั้นง่ายกว่ามากสำหรับสิ่งที่ฉันพยายามจะบรรลุ ฉันต้องการบันทึกคีย์เป็น a NSStringและค่าเป็นintในพจนานุกรม วิธีนี้ทำได้อย่างไร? ประการที่สองอะไรคือความแตกต่างระหว่างพจนานุกรมที่แปรเปลี่ยนได้กับพจนานุกรมปกติ?

3
การต่อท้าย NSDictionary กับ NSDictionary อื่น ๆ
ฉันมีหนึ่งและมันโหลดขึ้นNSDictionary UITableViewหากผู้ใช้เลื่อนมากขึ้นฉันจะเรียก API และดึงข้อมูลใหม่ ข้อมูลนี้อยู่ในรูปแบบของNSDictionaryไฟล์. เป็นไปได้หรือไม่ที่จะเพิ่มใหม่NSDictionaryในรายการที่มีอยู่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.