NSString *dateString = @"19/10/2014"; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"dd/MM/yyyy"]; NSDate *myDate = [dateFormatter dateFromString:dateString]; 为什么myDate在这个特定的date为null(19/10/2014)? 如果我将dateString更改为@"25/10/2014" ,则dateFormatter正确返回date…我的代码有什么问题? *当我的iPhone时区是“巴西利亚,巴西”时,此代码返回null。 例如,当我的时区是“华盛顿特区,EUA”时,代码会返回正确的date。
我想从我的自定义iPhone应用程序发送邮件。 我已经使用MFMailComposeViewController发送邮件从我的iPhone在我以前的应用程序。 现在,我不想向用户展示MFMailComposeViewController ,如果他们点击Send Mail button ,邮件自动发送到recipient mail address 。 我怎样才能做到这一点? 你能帮我吗? 提前致谢。 我用下面的代码来显示MFMailComposeViewController, MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init]; controller.mailComposeDelegate = self; [controller setSubject:@"Details"]; [controller setMessageBody:@"Hi" isHTML:NO]; [controller setToRecipients:[NSArray arrayWithObjects:@"abcd.m@gmail.com", nil]]; [self presentModalViewController:controller animated:YES]; [controller release];
我在Firebase查询中遇到了一些问题。 我想查询的对象,其中对象的孩子值包含一个特定的string。 到目前为止,我有这样的东西: Firebase *ref = [[Firebase alloc] initWithUrl:@"https://dinosaur-facts.firebaseio.com/dinosaurs"]; [[[[ref queryOrderedByKey] queryStartingAtValue:@"b"] queryEndingAtValue:@"b~"] observeEventType:FEventTypeChildAdded withBlock:^(FDataSnapshot *snapshot) { NSLog(@"%@", snapshot.key); }]; 但是,这只给出具有“b”的起始值的对象。 我想要包含string“b”的对象。 我怎么做?
任何人都知道如何序列化基于NSObject类的嵌套JSON? 有一个讨论序列化简单的JSON 在这里 ,但它不足以满足复杂的嵌套JSON。 想象一下,这是JSON的结果: { "accounting" : [{ "firstName" : "John", "lastName" : "Doe", "age" : 23 }, { "firstName" : "Mary", "lastName" : "Smith", "age" : 32 } ], "sales" : [{ "firstName" : "Sally", "lastName" : "Green", "age" : 27 }, { "firstName" : "Jim", "lastName" : "Galley", "age" : 41 } […]
有没有一种方法(一些API)来获取iPhone设备上安装的应用程序列表。 在search类似的问题时,我发现了一些与url registration有关的事情,但是我认为必须有一些API来做到这一点,因为我不想用应用程序做任何事情,我只想要列表。
我做了以下testing类来尝试从Parse中检索数据: -(void)retrieveDataFromParse { PFQuery *query = [PFQuery queryWithClassName:@"TestObject"]; [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) { if(!error){ for (PFObject *object in objects){ NSString *nameFromObject = [NSString stringWithFormat:@"%@", [object objectForKey:@"Name"]]; NSString *dateFromObject = [NSString stringWithFormat:@"%@", [object createdAt]]; NSString *scoreFromObject = [NSString stringWithFormat:@"%@", [object objectForKey:@"Score"]]; [self addNewScore:scoreFromObject andDate:dateFromObject forUserName:nameFromObject]; NSLog(@"The dictionary is %@", self.scoreDictionary); //<– here it works printing […]
我有这个“1273636800000”,我想把它转换成这种格式“Wed Mar 03 2010 00:00:00 GMT-0500(EST)” 我需要将这毫秒转换为NSDate格式。 我试过这个 NSDate *tr = [NSDate dateWithTimeIntervalSince1970:1273636800000]; 和 NSDate *tr = [NSDate dateWithTimeIntervalSinceReferenceDate:1273636800000]; 和 NSDate *tr = [NSDate dateWithTimeIntervalSinceNow:1273636800000]; 但是我不能使它工作,任何人都有类似的问题,并find解决办法
可能重复: 如何在cocoaObjective-C类中的variables前面加下划线? 我不完全清楚(除了代码的可读性),为什么你要创build一个带有下划线前缀的内部variables,当你创build属性。 由于一切都是在内部处理的,为什么还要这样做呢,因为我们不向getter和setter添加任何代码? 即使我要添加一些代码到getter或setter,我不明白为什么我不能只检查myvar,而不是检查_myvar,然后将其分配给myvar。 任何人都可以给我一些解释,除了“这是因为这是每个人都做?” 我想了解这种做法背后的全部原因(这似乎是相当普遍的,即使没有自定义代码的getter和setter)。 谢谢!
我试图用sprite套件做一个简单的游戏。 基本的想法是,有一个玩家可以跳跃,以避免块。 但是我有一个问题,我不知道怎么做,当玩家击中区块,玩家消失,血液animation开始。 首先,我不明白这个代码是在苹果网站上find的。 static const uint32_t blockCategory = 0x1 <<0; static const uint32_t playerCategory = 0x1 <<1; 比我打电话didBeginContact函数,并把一个NSLOG(“没有调用函数”)。 但是我从来没有收到我的debugging器的输出。 这是我的_player和_block代码: – (SKSpriteNode *)字符{ _player = [SKSpriteNode spriteNodeWithImageNamed:@"soldier_run1"]; _player.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:_player.size.width /2 -5]; _player.physicsBody.dynamic = YES; _player.physicsBody.usesPreciseCollisionDetection = YES; _player.physicsBody.friction = 0; _player.physicsBody.categoryBitMask = playerCategory; _player.physicsBody.collisionBitMask = blokCategory; _player.name = @"player"; SKAction *animAction = […]
这两条线有什么区别? NSString * string = @"My String"; NSString * string = [[[NSString alloc] initWithString:@"MyString"] autorelease]