我已经为对象的属性NSDictionary
分配了'price'键的NSNumber
值,但是当我记录数字值时,它是一个奇怪的负数!
item.price = [food valueForKey:@"price"];
Run Code Online (Sandbox Code Playgroud)
价格属性为 NSNumber
[[food valueForKey:@"price"] class]
Run Code Online (Sandbox Code Playgroud)
将打印__NSCFNumber
正确的。
[[food valueForKey:@"price"] intValue]
Run Code Online (Sandbox Code Playgroud)
返回0x000000000000c350
那是50000
正确的
但是当我登录item.price
或者[item.price integerValue]
是-15536
这是完全错误的!
任何的想法?
食物json样本:
{“ title”:“ Pizza”,“ price”:50000}
我正在寻找一种NSMutableArray
基于字典中包含的日期对字典进行排序的方法.每个人看起来像这样:
{
name: tom,
surname: smith,
date of birth (NSDate): 2013-02-21 15:25:27
}
Run Code Online (Sandbox Code Playgroud)
我知道方法earlierDate
等,但因为他们只比较两个日期我只是有点卡在如何迭代数组,以便我出来一个完全有序的字典数组?
如何在Objective-C中浏览数组?以下面的例子为例.
(
[key] => value
[key] => value
)
Run Code Online (Sandbox Code Playgroud)
有什么建议吗?
6年后,我意识到这个问题是多么愚蠢.我很抱歉Stack Overflow.
救命!我已经用这个问题把头发拉了1个小时了.
我正在我的.h文件中创建一个数组
@interface LeftMenuViewController : UIViewController <UITableViewDataSource, UITabBarControllerDelegate>
@property (strong, nonatomic) MKNetworkOperation *myNetworkOperation;
@property (strong, nonatomic) NSArray *listOfClubsArray;
@end
Run Code Online (Sandbox Code Playgroud)
然后我从JSON中的API调用中提取项目列表
///////////////////////////////////////////
#pragma mark Retreive List of Clubs / Teams
///////////////////////////////////////////
- (void)getListOfClubs {
// Because we have a success from login auth we will now make a seperate call to gather club details
self.myNetworkOperation = [app.teamManagerWrapper deviceID:@"adam" userToken:@"sdfdfgf" onCompletion:^(NSDictionary *result) {
NSDictionary *data2 = [result objectForKey:@"data"];
self.listOfClubsArray = [data2 objectForKey:@"user_clubs"];
[self.tableView reloadData];
} onError:^(NSError *error) {
// error none
}]; …
Run Code Online (Sandbox Code Playgroud) 如何在"1-2级开放"中更改"1-2级关闭"值?我必须删除它并添加新值?或者只是覆盖?我该怎么做?
谢谢
NSDictionary *dict = [[NSUserDefaults standardUserDefaults] dictionaryForKey:@"key_open_levels"];
dict = [NSDictionary dictionaryWithObjectsAndKeys:
@"open", @"level 1-1",
@"closed", @"level 1-2",
@"closed", @"level 1-3",
@"closed", @"level 1-4",
@"closed", @"level 1-5",
@"closed", @"level 1-6",
@"closed", @"level 1-7",
@"closed", @"level 1-8",
@"closed", @"level 1-9",
@"closed", @"level 1-10", nil];
// NSString *customerDict ;
[[NSUserDefaults standardUserDefaults] setValue:dict forKey:@"key_open_levels"];
if ([[dict valueForKey:@"level 1-2"] isEqualToString:@"closed" ]){
//what should I write here?
}else{
}
Run Code Online (Sandbox Code Playgroud) 你们都可能遇到过如下情况:
-(int) fightMath(int one, int two) {
if(one == 0 && two == 0) { result = 0; }
else if(one == 0 && two == 1) { result = 0; }
else if(one == 0 && two == 2) { result = 1; }
else if(one == 0 && two == 3) { result = 2; }
else if(one == 1 && two == 0) { result = 0; }
else if(one == 1 && two == 1) { …
Run Code Online (Sandbox Code Playgroud) 通过这种方式初始化 NSDictionary 有什么区别:
self.myData = [[NSDictionary alloc] init];
[self.myData initWithObjects:objects forKeys:keys];
Run Code Online (Sandbox Code Playgroud)
或者这样:
self.myData = [[NSDictionary alloc] initWithObjects:objects forKeys:keys];
Run Code Online (Sandbox Code Playgroud)
因为我问这个问题的原因是第一个不起作用。我是新手,很想知道为什么?
这是我的代码:-
nsdictionary ×7
objective-c ×7
ios ×4
arrays ×2
nsarray ×2
cocoa-touch ×1
crash ×1
if-statement ×1
llvm ×1
nsdate ×1
nsnumber ×1
uitableview ×1
xcode ×1