Tag: objective c

基础框架和核心基础框架之间的区别?

我试图弄明白这一点,但现在看来,两者对我来说都是一样的。 但是,Xcode允许创build一个控制台应用程序,可以select使用“核心基础”或“基础”。 也许有人可以指出不同之处。

XCTAssertEqual无法比较两个string值?

我添加了一个简单的unit testing来testing我的string扩展。 但是失败了。 我在这里做错了什么? 从我所知道的XCTAssertEqual是testing的价值,而不是对象本身? 第三行btw,表示string是平等的,但XCTAssertEqual说,他们不是。 – (void) testInitialsFromFullname { NSString *firstNickName = @"Mike Kain"; NSString *expectedResult = @"MK"; NSLog(@"Equal:%@", [[firstNickName initialsFromString] isEqualToString:expectedResult] ? @"YES" : @"NO"); XCTAssertEqual(expectedResult, [firstNickName initialsFromString], @"Strings are not equal %@ %@", expectedResult, [firstNickName initialsFromString]); }

iPhone SDK:如何在视图内播放video? 而不是全屏

我想在UIView播放video,所以我的第一步是为视图添加一个类,并使用下面的代码开始播放电影: – (IBAction)movie:(id)sender{ NSBundle *bundle = [NSBundle mainBundle]; NSString *moviePath = [bundle pathForResource:@"Movie" ofType:@"m4v"]; NSURL *movieURL = [[NSURL fileURLWithPath:moviePath] retain]; MPMoviePlayerController *theMovie = [[MPMoviePlayerController alloc] initWithContentURL:movieURL]; theMovie.scalingMode = MPMovieScalingModeAspectFill; [theMovie play]; } 但是这只是在自己的类中使用这个方法时崩溃的应用程序,但在其他地方很好。 有谁知道如何播放video内的视图? 并避免它是全屏?

“interfaceOrientation”在iOS 8中被弃用,如何改变这个方法Objective C

我从Cocoa Controls下载了一个使用这个方法的simpleCamera视图 – (AVCaptureVideoOrientation)orientationForConnection { AVCaptureVideoOrientation videoOrientation = AVCaptureVideoOrientationPortrait; switch (self.interfaceOrientation) { case UIInterfaceOrientationLandscapeLeft: videoOrientation = AVCaptureVideoOrientationLandscapeLeft; break; case UIInterfaceOrientationLandscapeRight: videoOrientation = AVCaptureVideoOrientationLandscapeRight; break; case UIInterfaceOrientationPortraitUpsideDown: videoOrientation = AVCaptureVideoOrientationPortraitUpsideDown; break; default: videoOrientation = AVCaptureVideoOrientationPortrait; break; } return videoOrientation; } 问题是“interfaceOrientation”在iOS 8弃用,但我不知道什么,以及如何在开关条件中取代这一点。

向山狮通知中心发送通知

有人可以举一个从Cocoa应用程序发送testing通知到通知中心的例子吗? 例如。 当我点击一个NSButton

我如何获得cocoa的当前date

我开始为iPhone开发,因此我在网上查看不同的教程,以及尝试一些不同的东西。 目前,我正在尝试创造一个倒计时,直到午夜。 要获得小时,分钟和秒数,我做了以下(我发现的地方): NSDate* now = [NSDate date]; int hour = 23 – [[now dateWithCalendarFormat:nil timeZone:nil] hourOfDay]; int min = 59 – [[now dateWithCalendarFormat:nil timeZone:nil] minuteOfHour]; int sec = 59 – [[now dateWithCalendarFormat:nil timeZone:nil] secondOfMinute]; countdownLabel.text = [NSString stringWithFormat:@"%02d:%02d:%02d", hour, min,sec]; 但是,我使用的每个地方-dateWithCalendarFormat:timeZone:我得到以下错误: warning: 'NSDate' may not respond to '-dateWithCalendarFormat:timeZone:' (Messages without a matching method signature […]

检测UITableView滚动

我已经分类UITableView(作为KRTableView),并实现了四个基于触摸的方法(touchesBegan,touchesEnded,touchesMoved和touchesCancelled),以便我可以检测到基于触摸的事件正在处理UITableView。 基本上我需要检测的是当UITableView向上或向下滚动时。 但是,UITableView的子类化和创build上述方法只会检测UITableViewCell中是否发生滚动或手指移动,而不是整个UITableView。 只要我的手指移动到下一个单元格,触摸事件就不会执行任何操作。 这是我如何inheritanceUITableView: #import "KRTableView.h" @implementation KRTableView – (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { [super touchesBegan:touches withEvent:event]; NSLog(@"touches began…"); } – (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { [super touchesMoved:touches withEvent:event]; NSLog(@"touchesMoved occured"); } – (void)touchesCancelled:(NSSet*)touches withEvent:(UIEvent *)event { [super touchesCancelled:touches withEvent:event]; NSLog(@"touchesCancelled occured"); } – (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { [super touchesEnded:touches withEvent:event]; NSLog(@"A tap […]

iPhone – 知道如果UIScrollView达到顶部或底部

有没有办法知道一个UIScrollView是否已经达到顶部或底部内部 – (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate ? 谢谢。

为什么UIScrollView在ios 6和ios 7的顶端留下了空间

我已经closuresAutolayout和viewcontrollerembedded导航控制器。 我正在使用Xcode 5,Storyboard。 我不明白为什么会从上面留下空间。 其实在故事板我已经把我的标签正好在导航栏下方。 但是,当我在模拟器上运行它,然后从顶部留下空间。 解决这个问题的方法之一 -(void)viewWillLayoutSubviews { self.scrollViewMain.frame = CGRectMake(0, -70, 320, 800); self.scrollViewMain.contentSize = CGSizeMake(320, 800); } 但是我错过了一些非常简单的方法。

最好的方法来parsingURLstring来获取键的值?

我需要parsing一个这样的URLstring: &ad_eurl=http://www.youtube.com/video/4bL4FI1Gz6s&hl=it_IT&iv_logging_level=3&ad_flags=0&endscreen_module=http://s.ytimg.com/yt/swfbin/endscreen-vfl6o3XZn.swf&cid=241&cust_gender=1&avg_rating=4.82280613104 我需要将NSString分成像cid=241和&avg_rating=4.82280613104 。 我一直在用substringWithRange:这样做substringWithRange:但是这些值以随机的顺序返回,所以弄乱了它。 有没有任何类,允许轻松parsing,你可以基本上转换为NSDictionary能够读取一个键的值(例如ValueForKey: cid应该返回241 )。 或者是只有另一种更简单的方法来parsing它比使用NSMakeRange获取子string?