试图在这里找到答案,最终在另一个网站上找到了线索。在这里发布以防有人在这里搜索并遇到同样的问题。
NSDictionary *d = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"foo", YES, 42, nil]
forKeys:[NSArray arrayWithObjects:@"bar", @"baz", @"count", nil]];
Run Code Online (Sandbox Code Playgroud)
这产生:
Program received signal: "EXC_BAD_ACCESS"
Run Code Online (Sandbox Code Playgroud)
这是什么原因?
我正在开发一个带有最新SDK和XCode 4.2的iOS 4应用程序.
我有一个NSMutableDictionary
地方的键是NSDate
和值是NSMutableString
.
当我填写NSMutableDictionary时,我想对其键进行排序,但我不知道如何进行.
我想要1月1日,2月等等.
的NSDate
密钥格式是日/月/年.
如果NSMutableDictionary
具有所有键和值,我如何对这些键进行排序?(我不会添加更多).
我正在使用NSJSONSerialzation解析JSON字符串,然后将其转换为NSDictionary以使用键值对.JSON字符串中的某些值由服务器作为整数发送,但是,NSDictionary将它们表示为CFNumber,例如
<CFNumber 0xa581270 [0x1d7b4d8]>{value = +0, type = kCFNumberSInt32Type}
Run Code Online (Sandbox Code Playgroud)
我怎么能把它整齐地转换为int或NSNumber?
我的服务器上有JSON,它被解析为iOS应用程序到NSDictionary.NSDictionary看起来像这样:
(
{
text = Aaa;
title = 1;
},
{
text = Bbb;
title = 2;
}
)
Run Code Online (Sandbox Code Playgroud)
我的问题是 - 如何从第一维获得文本,所以它应该是"Aaa".我试过用这个:
[[[json allValues]objectAtIndex:0]objectAtIndex:0];
Run Code Online (Sandbox Code Playgroud)
但它没有用,它以错误结束
Run Code Online (Sandbox Code Playgroud)Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFArray allValues]: unrecognized selector sent to instance 0x714a050'
那么请你帮我一下,如何从指定的索引中获取一个值?谢谢!
我正在尝试显示类别的tableview,每个类别都有自己的类别集.
例如,主要类别是食品,娱乐,娱乐,在餐桌的食品部分,墨西哥食品,亚洲食品等显示在该部分下.
但是,我遇到了这个错误:
无法下标'[(String)]类型的值?' 索引类型为'Int'
这是我的代码:
var categoryDictionary = [String:[String]]();
var categoriesList = ["Food", "Entertainment", "Recreation", "Shopping", "Transport", "Post Office"]
var foodCategories = [String]();
var entertainmentCategories = [String]();
var recreationCategories = [String]();
var shoppingCategories = [String]();
var transportCategories = [String]();
var lodgingCategories = [String]();
var librariesCategories = [String]();
var banksCategories = [String]();
var postOfficeCategories = [String]();
Run Code Online (Sandbox Code Playgroud)
这里只是一个附加到数组并将"Food"的键值添加到foodCategory数组的示例
func setupCategoryFood() {
var asianFood = "Asian Food"
var mexicanFood = "Mexican Food"
var fastFood = "Fast Food"
var MiddleEasternFood = "Middle Eastern …
Run Code Online (Sandbox Code Playgroud) 我有一个json NSString
和NSDate
数据(dob)我创建NSDictionary
它,但当我使用代码将其转换为数据
NSData *requestData1 = [NSJSONSerialization dataWithJSONObject:json_inputDic options:0 error:&error];
Run Code Online (Sandbox Code Playgroud)
通过给出错误来杀死它
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Invalid type in JSON write (__NSDate)'
Run Code Online (Sandbox Code Playgroud)
我的问题是我需要传递dob,因为NSDate是强制性的.我如何解决它?
例如
NSDate *newDate = [NSDate date];
[dic setValue:newDate forKey:@"dob"];
NSString *good = @"good";
[dic setValue:good forKey:@"good"];
NSLog(@"dic=%@",dic);
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:&error]; //it gives error
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
NSLog(@"jsonData as string:\n%@", jsonString);
Run Code Online (Sandbox Code Playgroud) 如何在不中断循环的情况下在循环中执行多个guard语句?如果一个保护语句失败,它会将我踢出当前循环迭代并绕过剩余的代码.
for user in users {
guard let first = user["firstName"] as? String else {
print("first name has not been set")
continue
}
print(first)
guard let last = user["lastName"] as? String else {
print("last name has not been set")
continue
}
print(last)
guard let numbers = user["phoneNumbers"] as? NSArray else {
print("no phone numbers were found")
continue
}
print(numbers)
}
Run Code Online (Sandbox Code Playgroud)
如何确保为每个用户执行所有语句?在else块中放置return和break也不起作用.谢谢!
我现在试着让它工作几个小时,但却无法做到正确.
我有以下代码:
NSDictionary* dict = [NSDictionary dictionaryWithObjectsAndKeys:
[NSArray arrayWithObjects:@"currentGame1", @"currentGameType1", @"currentGameQuestion1", @"currentGameRightAnswers1", @"currentGameType1", @"numberOfType0Games1", @"type0Results1", @"numberOfType1Games1", @"type1Results1",@"numberOfType2Games1", @"type2Results1",nil], @"Player1",
[NSArray arrayWithObjects:@"currentGame2", @"currentGameType2", @"currentGameQuestion2", @"currentGameRightAnswers2", @"currentGameType2", @"numberOfType0Games2", @"type0Results2", @"numberOfType1Games2", @"type1Results2",@"numberOfType2Games2", @"type2Results2",nil], @"Player2",
[NSArray arrayWithObjects:@"currentGame3", @"currentGameType3", @"currentGameQuestion3", @"currentGameRightAnswers3", @"currentGameType3", @"numberOfType0Games3", @"type0Results3", @"numberOfType1Games3", @"type1Results3",@"numberOfType2Games3", @"type2Results3",nil], @"Player3",nil];
[dict writeToFile:@"/Users/MikaelB/Desktop/xxxxPlayer.plist" atomically: TRUE];
NSMutableDictionary *readDict = [[NSMutableDictionary alloc] initWithContentsOfFile:@"/Users/MikaelB/Desktop/xxxxPlayer.plist"];
NSLog(@"readDict: %@", readDict);
NSLog(@"= = = = = = = = = = = = = = = = = = =");
for (NSArray *key in [readDict …
Run Code Online (Sandbox Code Playgroud) 为大量代码道歉,但人们最终总是要求批量.
尝试将NSDictionary添加到NSMutableArray时,我收到以下错误
2011-09-22 18:52:54.153 NPT[4788:1603] -[__NSArrayI addObject:]: unrecognized selector sent to instance 0x72f1280
2011-09-22 18:52:54.154 NPT[4788:1603] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayI addObject:]: unrecognized selector sent to instance 0x72f1280'
Call stack at first throw:
(
0 CoreFoundation 0x028e5919 __exceptionPreprocess + 185
1 libobjc.A.dylib 0x02a335de objc_exception_throw + 47
2 CoreFoundation 0x028e742b -[NSObject(NSObject) doesNotRecognizeSelector:] + 187
3 CoreFoundation 0x02857116 ___forwarding___ + 966
4 CoreFoundation 0x02856cd2 _CF_forwarding_prep_0 + 50
5 NPT 0x00007197 -[Search addPlateToFinals:withSubCount:] + 791
6 NPT 0x0000626f …
Run Code Online (Sandbox Code Playgroud) 我有一个NSMutableDictionary,我用它写了
[stuff writeToFile:@"TEST" atomically:YES];
Run Code Online (Sandbox Code Playgroud)
我怎样才能在将来检索它?
另外,如果我决定用4S替换我的iPhone 4,会发生什么?我的书面数据可以转移吗?
nsdictionary ×10
ios ×7
objective-c ×6
json ×3
nsdate ×2
swift ×2
guard ×1
iphone ×1
nsnumber ×1
sorting ×1
uitableview ×1