`
iaiai
  • 浏览: 2196622 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

[IOS] 学习-NSDictionary (Object-c中的key-value)

 
阅读更多
NSDictionary类似Java中的Map,内部存储key-value对,key的类型是NSString,value可以是任意对象类型指针。键值和数据必须不为nil,如果想表示一个空的值,则用NSNull。字典本身是不可以更改的。NSMutableDictionary 是可更改的字典。
下面例子是网上流传的,写的很细

        NSArray *array1 = [NSArray arrayWithObjects:@"iphone",@"ipod",nil];
        NSArray *array2 = [NSArray arrayWithObjects:@"mac",@"imac",@"mac pro",nil];
        ////1、创建字典 ,类方法初始化自动释放
        NSDictionary *myDictionary = [NSDictionarydictionaryWithObjectsAndKeys:array1,@"mobile",array2,@"computers",nil];//注意用nil结束
        NSLog(@”myDictionary = %@”,myDictionary);
        //得到key-value的个数
        int dictSize = [myDictionary count];
        //根据key找到字典中的值
        NSArray *mobile = [myDictionary objectForKey:@"mobile"];
        //得到所有key
        NSArray *keys = [myDictionary allKeysForObject:array1];
        //得到所有value
        NSArray *values = [myDictionary allValues];
        //快速枚举
        for(id key in myDictionary)
        {
            NSLog(@”key: %@,value: %@”,key,[myDictionary objectForKey:key]);
        }
        //如果字典只包含属性列表对象(NSData,NSDate,NSNumber,NSString,NSArray或NSDictionary)可以保存到文件中
        NSString *filePath = [[[NSBundlemainBundle]resourcePath]stringByAppendingPathComponent:@”dict.txt”];
        BOOL success = [myDictionary writeToFile:filePath atomically:YES];
        //用文件填充
        NSDictionary *myDict2 =[NSDictionary dictionaryWithContentsOfFile:filePath];
        
        //可变字典
        NSMutableDictionary *dictMutable = [[NSMutableDictionaryalloc]initWithObjectsAndKeys:array1,@”mobile”,array2,@”computer”, nil];
        NSString *string4 = @”stringTV”;
        //修改对象
        [dictMutable setObject:string4 forKey:@"media"];
        //删除对象
        [dictMutable removeObjectForKey:@"mobile"];
        //删除多个对象
        NSArray *keyArray =[NSArray arrayWithObjects:@"mobile",@"computer", nil];
        [dictMutable removeObjectForKey:keyArray];
        //删除所有对象

        [dictMutable removeAllObjects];
分享到:
评论

相关推荐

    IOS-Object_C经典学习PPT要点

    在"IOS-Object_C经典学习PPT要点"中,我们可能会涵盖以下关键概念: 1. **类与对象**:Objective-C中的所有事物都是对象,而类是创建对象的蓝图。类定义了对象的属性(实例变量)和行为(方法)。 2. **消息传递**...

    iOS objective-c 实体类对象的序列化为Json及反序列化

    在iOS开发中,Objective-C是主要的编程语言之一,特别是在构建移动端应用时。Objective-C的实体类对象序列化和反序列化是数据处理的关键环节,它涉及到如何将内存中的对象转换为可存储或传输的数据格式,如JSON...

    ios demo,NSDictionary toJSONString,字典转换到JSONString

    在iOS开发中,数据交换和存储常常涉及到JSON(JavaScript Object Notation)格式,因为它轻量、易读且被广泛支持。本示例是关于如何将一个`NSDictionary`对象转换为`JSONString`的iOS演示。`NSDictionary`是...

    iOS--AFNetworking第三方

    NSDictionary *parameters = @{@"key": @"value"}; [[AFHTTPSessionManager manager] POST:@"http://example.com/resources.json" parameters:parameters success:^(NSURLSessionDataTask * _Nonnull task, id _...

    ios-iOS-OC-页面传值的5种方法.zip

    在iOS开发中,页面间的传值是日常开发中不可或缺的一部分,尤其对于Objective-C(简称OC)的开发者来说,掌握各种传值方式能显著提高代码的灵活性和可维护性。本资料"ios-iOS-OC-页面传值的5种方法.zip"主要探讨了五...

    ios开发--字典转模型代码

    在iOS开发中,数据模型(Model)是用来存储和管理应用程序数据的重要组成部分。通常,我们会从服务器获取JSON或XML格式的数据,然后需要将其转化为 Objective-C 或 Swift 中的对象模型以便于操作和展示。本教程将...

    iOS对象转字典 object2Dictionary

    "iOS对象转字典 object2Dictionary"这个话题聚焦于如何将Objective-C或Swift中的对象转换成字典(NSDictionary或Swift的Dictionary类型),进而可能进一步转化为JSON格式。这种转换在序列化和反序列化过程中扮演着...

    IOS 开发之NSDictionary转换成JSON字符串

    在iOS开发中,当需要将数据发送到服务器或者存储本地时,通常会将Objective-C的对象如NSDictionary转换成JSON格式的字符串。这是因为JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和...

    Object-C语言教程:Objective-C 简介

    NSDictionary *immutableDictionary = @{@"Key": @"Value"}; ``` 通过以上介绍,我们可以看到Objective-C作为一种面向对象的编程语言,在iOS和Mac OS X开发中扮演着非常重要的角色。掌握了Objective-C的基础知识...

    自定义类在NSdictionary当key的示例

    在iOS和macOS开发中,我们经常使用Foundation框架中的`NSDictionary`来存储键值对数据。`NSDictionary`要求键必须是不可变的、遵循`NSCopying`协议的对象,通常是`NSString`实例。然而,有时我们需要将自定义类作为...

    IOS用于JSON到Object的转换

    在iOS开发中,将JSON数据转换为Objective-C或Swift的对象是一项常见的任务,特别是在与服务器进行数据交换时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其易读性和易于处理而广泛使用。本...

    Object-C的语法与Cocoa框架

    Object-C的设计旨在提高代码的可读性和可维护性,同时保持C语言的效率和灵活性。Object-C主要应用于Apple的macOS和iOS操作系统上,是开发这些平台应用程序的主要语言之一。 **基本语法特点:** 1. **类定义**:在...

    ios-KVO_Demo.zip

    **iOS中的Key-Value Observing (KVO)技术详解** Key-Value Observing(KVO)是Objective-C中的一种机制,允许对象监听并响应其他对象属性的变化。在iOS开发中,KVO是一种强大的数据绑定工具,它使得我们可以方便地...

    ios-防止数组越界 字典value为nil导致崩溃.zip

    在iOS开发中,数组越界和字典value为nil是两个常见的编程错误,它们可能导致程序崩溃,严重影响用户体验。为了防止这种情况,开发者需要采取相应的措施。这个压缩包提供了一个名为"NSObject+runtime"的分类,旨在...

    ios demo,JSONString to NSDictionary,字符串JSON数据转换到字典数据

    本示例“ios demo, JSONString to NSDictionary”聚焦于将JSON字符串转化为Objective-C中的NSDictionary对象,这是iOS开发中的常见操作。接下来,我们将深入探讨这个过程以及相关知识点。 首先,理解JSON的基本结构...

    NSDictionary,JSON和XML互相转换

    本篇文章将详细探讨如何在Objective-C或Swift中实现NSDictionary、JSON和XML之间的转换。 首先,我们来看`NSDictionary`。它是Foundation框架中的一个核心类,用于存储键值对,非常适合表示复杂的数据结构。...

    ios-iOS数据的网络请求.zip

    NSDictionary *parameters = @{@"key": @"value"}; [[AFHTTPSessionManager manager] POST:@"http://example.com/resources.json" parameters:parameters success:^(NSURLSessionDataTask * _Nonnull task, id _...

    object-c电子书(牛人版)

    Objective-C的Runtime允许在运行时检查和修改类的结构,这对于实现一些高级功能,如KVO(Key-Value Observing)和Category的动态添加方法等,至关重要。 对于iOS和macOS开发,Objective-C是基础,而Foundation框架...

Global site tag (gtag.js) - Google Analytics