如果我有一个表示时间的string,比如说“10:45 am”,那么执行以下操作来parsingstring: NSDateFormatter *dateFormat; dateFormat = [[NSDateFormatter alloc] init]; [dateFormat setDateFormat:@"h:mm a"]; NSLog(@"%@", [dateFormat dateFromString:@"10:45 AM"]); 我会得到这个logging: 2013-09-09 17:52:30.416 TimeTest [49491:a0b] 2000-01-01 15:45:00 +0000 如何在给定的时间创build当天的NSDate ? 我试过这个 NSDate *date = [NSDate date]; NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"h:mm a"]; NSDate *time = [formatter dateFromString:@"10:45 AM"]; NSDateComponents *timeComponents = [[NSCalendar currentCalendar] components:(NSHourCalendarUnit | NSMinuteCalendarUnit […]
我正在开发一个ios应用程序与Xamarin,只有代码,没有StoryBoard,或任何devise师。 我需要实现一个UiViewController,其中包含许多图像,并水平滚动,就像这样 。 我没有find适合我的东西。 所以有人有一些build议或一些例子来显示我?
我正在尝试在Objective-C中实现以下内容: curl -X POST -u "<application key>:<master secret>" \ -H "Content-Type: application/json" \ –data '{"aps": {"badge": 1, "alert": "The quick brown fox jumps over the lazy dog."}, "aliases": ["12345"]}' \ https://go.urbanairship.com/api/push/ 有什么样的图书馆,我可以使用,实现这一点? 很明显,我已经准备好了所有的价值,并且提出了我的要求,但我不确定如何在Objective-C中做到这一点。 我正在使用TouchJSON,但是我不太确定如何构build正确的JSON负载,并将其发布到服务器(也是我更喜欢这是一个asynchronous请求,而不是同步)。 NSError *theError = NULL; NSArray *keys = [NSArray arrayWithObjects:@"aps", @"badge", @"alert", @"aliases", nil]; NSArray *objects = [NSArray arrayWithObjects:?, ?, ?, ?, […]
我可以使用以下代码与Facebook分享文字,图片和url。 _lblTitle.text=@"Joe just ran 3.10 miles on the Niagara Falls 5k in 24.53 with http://www.outsideinteractive.com"; NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys: _lblTitle.text, @"name", data, @"picture", nil]; // Make the request [FBRequestConnection startWithGraphPath:@"/me/photos" parameters:params HTTPMethod:@"POST" completionHandler:^(FBRequestConnection *connection, id result, NSError *error) { if (!error) { // Link posted successfully to Facebook NSLog([NSString stringWithFormat:@"result: %@", result]); } else […]
我正在学习核心audio中的核心audio转换服务,我在他们的示例代码中被这个例子所震惊: while(1) { // wrap the destination buffer in an AudioBufferList AudioBufferList convertedData; convertedData.mNumberBuffers = 1; convertedData.mBuffers[0].mNumberChannels = mySettings->outputFormat.mChannelsPerFrame; convertedData.mBuffers[0].mDataByteSize = outputBufferSize; convertedData.mBuffers[0].mData = outputBuffer; UInt32 frameCount = packetsPerBuffer; // read from the extaudiofile CheckResult(ExtAudioFileRead(mySettings->inputFile, &frameCount, &convertedData), "Couldn't read from input file"); if (frameCount == 0) { printf ("done reading from file"); return; } // […]
升级到iOS 8 b3和Xcode 6 b3后,在didSimulatePhysics方法中出现错误: [self enumerateChildNodesWithName:@"name" usingBlock:^(SKNode *node, BOOL *stop) { if (node.position.y < 0 || node.position.x>320 || node.position.x<0) { [node removeFromParent]; } }]; 虽然我有exception断点启用和僵尸对象,我没有进一步的信息,为什么发生这种情况。 错误是线程1 BreakPoint 1.3。 [水平didSimulatePhysics]任何帮助,非常感谢。 Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collection <__NSArrayM: 0x7edf17d0> was mutated while being enumerated.'
简洁版本: 我想使用Objective-C的Google OAuth2客户端为我创build一个有效的GTMOAuth2Authentication对象,以便在我的应用程序中使用,并使用我从后端获得的脱机访问令牌。 我怎么能做到这一点? 我的情况: 我的应用使用Google Analytics(分析)只读范围来获取有关用户网站的一些数据。 我完成这个任务的方式是使用Google OAuth2客户端为Objective C提供的GTMOAuth2ViewControllerTouch ViewController进行login。然后,它将为我提供有效的GTMOAuth2Authentication对象,以便我可以通过Google API客户端查询Google Analytics。 现在,我们不希望为用户提供Google Analytics访问权限(有些没有Google帐户,一般而言,我们希望通过应用保持简单的信息)。 这意味着我们需要使用我们的帐户login(可以访问所有网站的Google Analytics数据)。 显然,我们不能给我们的用户我们的凭据,所以我们必须find一个解决scheme。 我的计划: 我认为这个问题可以通过从我们的后端(通过SSLencryption)请求我们的(离线访问)令牌string来解决,将其保存到用户的钥匙串中,并在应用程序中进一步使用它来查询分析。 然后我们让用户login我们的服务(这样我们可以确定用户有权访问哪个网站),并显示数据。 我的问题: 我到处search过,查看了Google的(非常简单的)文档,检查了GTMOAuth2Authentication源代码,但似乎无法绕开这个问题。 在我看来,会有这样的解决scheme(因为我们在CMS中使用类似的方法让用户张贴到我们的Facebook墙),所以我在这里错过了什么? 当前的login码: GTMOAuth2ViewControllerTouch *viewController = [[GTMOAuth2ViewControllerTouch alloc] initWithScope:scope clientID:kMyClientID clientSecret:kMyClientSecret keychainItemName:kKeychainItemName completionHandler: ^(GTMOAuth2ViewControllerTouch *viewController, GTMOAuth2Authentication *auth, NSError *error) { if (error != nil) { // Authentication failed DebugLog(@"Failed!"); } else { // […]
我的应用程序支持所有的方向,但在less数情况下,我想locking屏幕 纵向/横向模式。 在我的应用程序中,我有两种pdf文档。 一个是纵向文件,另一个是横向文件。 我只想在纵向视图中打开纵向文档,而在纵向文档中打开 仅景观视图。 我想这样做:如果我的应用程序打开横向视图,我点击 纵向文档,所以它必须旋转纵向视图和相同的景观如此 我的应用程序打开纵向视图,当我点击景观文件 必须旋转或者只能在横向打开文档。 希望我让你们明确的赦免我的英语希望你明白我想要什么 需要你的帮助 。 先谢谢你 这里是我的一些代码: – (void)viewDidLoad { [super viewDidLoad]; UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation]; if (orientation == UIInterfaceOrientationPortrait || orientation == UIInterfaceOrientationPortraitUpsideDown) { NSLog(@"Portrait"); if ([orientationObject isEqualToString:@"p"]) { //If the document is portrait pdfScrollViewFrame = CGRectMake(-0.0, -80.0, 770.0, 1085.0); } else{ // If […]
编辑问题从零开始恢复。 我有一个ViewController A有一个导航栏button,它呈现了一个UIImagePickerControllertypes的UIImagePickerControllerSourceTypeCamera ,我们将调用这个ViewController B. 在A的didFinishPickingMediaWithInfo:方法中,我将呈现ViewController C. 现在问题从这里开始。 当我终于到达C时 ,我们可以看到视图堆栈显然是: A -modal-> B -modal-> C 从C我然后有一个“后退”button出现在导航栏应该带我回到B. 但是,由于B是一个UIImagePickerController,我不能重用它,它必须被解雇。 所以,要做到这一点,我目前有以下方法执行C :上的“返回”button: – (IBAction)backOnPost:(UIBarButtonItem *)sender { [self.view endEditing:YES]; UINavigationController *LogControl = [self.storyboard instantiateViewControllerWithIdentifier:@"LogControl"]; RGLogViewController *logView = (RGLogViewController *)LogControl.topViewController; [UIView animateWithDuration:0.25 animations:^{ self.presentingViewController.view.alpha = 0; [self.presentingViewController dismissViewControllerAnimated:NO completion:nil]; [self.presentingViewController.presentingViewController dismissViewControllerAnimated:NO completion:nil]; } completion:^(BOOL finished){ [logView setBoolBackPushed]; }]; } 上面的代码的工作原理是通过驳回B和C来让我回到A. […]
你怎么能在一个论点中与多种可能性进行比较? 例: if ((integer == 2) || (integer == 5)) if ((string == "hello") || (string == "dolly)) 如果你能写这样的话,会节省很多代码: if (integer == (2 || 5)) if (string == ("hello" || "dolly"))