标签: nsmutabledictionary

如何清除字典?

我目前正在执行以下操作以清除NSMutableDictionary

[myDictionary release];
myDictionary = [[NSMutableDictionary alloc] init];
Run Code Online (Sandbox Code Playgroud)

释放行实际上不会释放字典中的任何对象.我仍然可以在下一行看到所有这些.直到执行alloc行,字典才被清零.有没有更好的方法呢?

iphone cocoa-touch objective-c nsmutabledictionary

19
推荐指数
3
解决办法
3万
查看次数

对NSMutableDictionary进行排序

我有一个NSMutableDictionary映射NSStringNSString(虽然值是NSStrings,它们实际上只是整数).

例如,考虑以下映射,

"dog" --> "4"
"cat" --> "3"
"turtle" --> "6"
Run Code Online (Sandbox Code Playgroud)

我希望最终得到字典中的前10个条目,按值的递减顺序排序.有人可以给我看这个代码吗?也许有一组键和另一组值.不管怎样,我不介意.我只是想让它变得高效.

谢谢!

dictionary nsmutabledictionary ios

19
推荐指数
1
解决办法
4万
查看次数

使用Objective-C在iOS中的NSMutableDictionary中添加值

我正在开始objective-c开发,我想问一下实现键和值列表的最佳方法.

在Delphi中有类TDictionary,我使用它是这样的:

myDictionary : TDictionary<string, Integer>;

bool found = myDictionary.TryGetValue(myWord, currentValue);
if (found)
{
    myDictionary.AddOrSetValue(myWord, currentValue+1);
} 
else
{
    myDictionary.Add(myWord,1);
}
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做objective-c?是否有与上述相同的功能AddOrSetValue() or TryGetValue()

谢谢.

objective-c nsmutabledictionary ios

16
推荐指数
3
解决办法
8万
查看次数

如何在objective-c中使用NSNull创建if语句

我正在开发一个iPhone应用程序,我需要使用JSON它从服务器接收数据.在iPhone方面,我将数据转换为NSMutableDictionary.

但是,日期类型数据为空.

我用下面的句子来读日期.

NSString *arriveTime = [taskDic objectForKey:@"arriveTime"];
NSLog(@"%@", arriveTime);

if (arriveTime) {
    job.arriveDone = [NSDate dateWithTimeIntervalSince1970:[arriveTime intValue]/1000];
}
Run Code Online (Sandbox Code Playgroud)

当arrivalTime为null时,如何创建if语句.我试过[到达时间长度]!= 0,但我不工作,因为arriTime是一个NSNull并且没有这个方法.

iphone json nsmutabledictionary nsnull

16
推荐指数
1
解决办法
7517
查看次数

NSMutableDictionary:发送到不可变对象的变异方法

以下代码在尝试removeObjectForKey时返回一个异常,并显示以下错误消息"mutating method sent to immutable object"

NSMutableDictionary * storedIpDictionary = (NSMutableDictionary*)[[NSUserDefaults standardUserDefaults] dictionaryForKey:@"dictDeviceIp"];

NSString *key = self.currentDeviceNameText.text;
NSString *ipAddressTemp = [storedIpDictionary objectForKey:key];

[storedIpDictionary removeObjectForKey:key]; <----Crashes here

storedIpDictionary[key] = ipAddressTemp;
Run Code Online (Sandbox Code Playgroud)

不确定是什么问题,也许是因为从NSUserDefaults检索字典.

但是,以下代码无任何问题.

NSMutableDictionary * storedIpDictionary = (NSMutableDictionary*)[[NSUserDefaults standardUserDefaults] dictionaryForKey:@"dictDeviceIp"];
[storedIpDictionary removeAllObjects];
Run Code Online (Sandbox Code Playgroud)

objective-c mutable nsuserdefaults nsmutabledictionary ios

14
推荐指数
2
解决办法
2万
查看次数

如何将(BOOL*)插入NSMutableDictionary

我试图将布尔数据库值保存到地图中,如下所示 -

[recentTags setValue:[NSNumber numberWithBool:[aMessage isSet]] forKey:[aMessage tagName]];
Run Code Online (Sandbox Code Playgroud)

它给我一个错误说"不兼容的指向整数转换的指针发送BOOL*aka signed char*到'BOOL'又名为signed char"

如何在字典中插入BOOL*?

nsmutabledictionary ios

13
推荐指数
1
解决办法
1万
查看次数

如何在iphone中获取NSMutableDictionary计数?

我想在iphone中获得NSMutableDictionary计数.我想知道NSMutableDictionry中有多少项.我尝试了这些代码来找出解决方案,但并没有帮助我.

NSLog(@"Count : %d", [mutableDictionary count]);
Run Code Online (Sandbox Code Playgroud)

它总是返回'0'.如何在iPhone中获取NSMutableDictionary的数量?提前致谢.

iphone count nsmutabledictionary ios

13
推荐指数
2
解决办法
2万
查看次数

[__NSDictionaryI setObject:forKey:]:发送到实例的无法识别的选择器

我正在尝试将"dateTime"添加到我的字典中,如下所示:

Symptom Ranking: {
    5111ef19253b4a9150000000 = 1;
    5111f029253b4add4e000000 = 1;
    5111f036253b4a123d000001 = 1;
    5111f045253b4a404f000000 = 1;
}

NSLog(@"date selected: %@", [[self.datePicker date] description])

[self.results setObject:[[self.datePicker date] description] forKey:@"dateTime"];
Run Code Online (Sandbox Code Playgroud)

应用程序崩溃,我得到这个:

Symptom Tracker[43134:c07] -[__NSDictionaryI setObject:forKey:]: unrecognized selector sent to instance 0x7603990
2013-02-06 08:15:58.741 Symptom Tracker[43134:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSDictionaryI setObject:forKey:]: unrecognized selector sent to instance 0x7603990'
*** First throw call stack:
(0x171b012 0x1428e7e 0x17a64bd 0x170abbc 0x170a94e 0x521e 0x143c705 0x373920 0x3738b8 0x434671 0x434bcf 0x433d38 0x3a333f 0x3a3552 0x3813aa …
Run Code Online (Sandbox Code Playgroud)

nsdictionary foundation nsmutabledictionary ios

13
推荐指数
5
解决办法
2万
查看次数

子类化NSMutableDictionary

我试图实现一个NSMutableDictionary的子类,它返回nil而不是在字典中不存在键时抛出NSUndefinedKeyException.

但是,当我尝试将对象添加到我的字典中时,我得到了

[NSMutableDictionary setObject:forKey:]: method only defined for abstract class
Run Code Online (Sandbox Code Playgroud)

NilDictionary.h

@interface NilDictionary : NSMutableDictionary {
} 
@end
Run Code Online (Sandbox Code Playgroud)

NilDctionary.m

@implementation NilDictionary
- (id)valueForUndefinedKey:(NSString *)key {
  return nil;
}
@end
Run Code Online (Sandbox Code Playgroud)

我是否真的必须在我的子类中再次实现NSMutableDictionary中的所有方法,或者是否有其他类我应该进行子类化?

澄清:我原来的问题归结为我无法正确阅读文档.

如果你需要子类NSMutableDictionary,请检查正确的答案.如果你想要一个在你的密钥不存在时返回nil的字典,NSMutableDictionary已经这样做了.

iphone objective-c subclassing nsmutabledictionary ios

12
推荐指数
1
解决办法
9743
查看次数

NSMapTable和NSMutableDictionary的区别

除了允许键是指针之外,是否NSMapTable相同NSMutableDictionary

它在内存管理方面有所不同吗?

cocoa objective-c nsmutabledictionary

12
推荐指数
2
解决办法
8158
查看次数