我喜欢在Xcode 4项目导航器窗格中将我的类组织成组。 我也通过terminal使用GIT版本控制,这对我来说比Xcode 4集成更好。 对我来说,当我在Xcode中创build的组对应于我的文件系统上的实际文件夹时,这是最有意义的。 但是,Xcode似乎并不关心文件系统(例如Objective-C .h / .m文件)在文件系统上的位置,每次添加一个组( Option+Command+N )时,它都是纯粹的装饰,对于任何文件放在那里将在硬盘驱动器上共享相同的位置。 奇怪的是,如果你首先在你的硬盘上创build一个文件夹,然后把它拖到Xcode,你已经创build了一个在你的文件系统上有自己的位置的组。 您在那里创build的每个文件都将在磁盘上的文件夹中创build。 我喜欢这个,但是如果Xcode会在Option+Command+N中为我做这个,我会更喜欢它。 为您想要创build的每个组切换到Finder,然后将其拖回项目导航器的正确位置的工作stream程简直是愚蠢的。 感觉像一个设置可以解决,但我找不到它! 有没有更好的办法? 更新:当把一个文件夹拖到Xcode时,你会看到一个对话窗口,你可以select“文件夹引用”。 这看起来很有希望,但是我的Xcode 4不接受那里的文件作为类,并一直告诉我,它找不到任何文件。 也许答案在某处,但我仍然找不到。 另一个更新:我已经将我的主编辑器环境从Xcode更改为AppCode。 后者支持实际创build文件夹来备份项目组,同时保持与Xcode的100%兼容性。 这些AppCode人确定知道他们在做什么。
我想问一个关于目标C中的NSString *的问题吗?我可以检查一个NSString *对象的最后一个字符吗? 例: NSString* data = @"abcde,"; if(data is end with ',') // I don't know this part // do sth 非常感谢你。
我想从NSString的某个地方得到一个angular色。 我想要的结果是一个NSString。 这是我用来获取索引它的单个字符的代码: [[s substringToIndex:i] substringToIndex:1] 有没有更好的方法来做到这一点?
我有一个简单的NSURLRequest: [NSURLConnection sendAsynchronousRequest:myRequest queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) { // do stuff with response if status is 200 }]; 如何获取状态码以确保请求正常?
我有一个UITextView通过Interface Builder进行pipe理。 作为数据检测我有“链接”选中。 在iOS 6中,一切工作正常,链接突出显示,可点击。 不过在iOS 7中,所有链接仍然只是纯文本。 可编辑和可select的checkbox未被选中。 值得关注的是UITextView是一个容器视图的子视图,它也是在UIScrollView 。
我想追加一个NSTextAttachment图像到我的属性string,并让它垂直居中。 我用下面的代码来创build我的string NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:DDLocalizedString(@"title.upcomingHotspots") attributes:attrs]; NSTextAttachment *attachment = [[NSTextAttachment alloc] init]; attachment.image = [[UIImage imageNamed:@"help.png"] imageScaledToFitSize:CGSizeMake(14.f, 14.f)]; cell.textLabel.attributedText = [str copy]; 但是,图像似乎alignment到单元格的textLabel的顶部。 我怎样才能改变附件绘制的矩形?
当我使用storyboard在XCode 4.6中创build一个新的单视图应用程序时,我们可以看到主函数使用应用程序委托来创build一个新的应用程序,如下所示: return UIApplicationMain(argc, argv, nil, NSStringFromClass([MyAppDelegate class])); 但是,如果我们看MyAppDelegate.h和MyAppDelegate.m,在代码中没有任何地方引用MainStoryboard.storyboard。 这不同于非故事板版本,我们可以find以编程方式加载nib文件的代码行。 所以我的问题是,如何加载故事板? (我应该在哪里find它?) 谢谢
更新2 我一直在使用4英寸的设备在iOS模拟器上运行并testing我的应用程序。 如果我使用3.5英寸设备运行,标签不会跳转。 在我的.xib中,在模拟指标下,我将它设置为Retina 4英寸全屏幕。 任何想法,为什么我只在4英寸的设备上看到这个问题? 更新1 在IB中,如果我在“模拟指标”中select“导航栏”,我的标签仍会跳跃。 唯一可以让我的标签在第一个屏幕上正确呈现的方法是不要将导航控制器设置为我的窗口的根视图控制器。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 我的窗口的rootViewController被设置为一个UINavigationController,其rootViewControllerembedded了一个UIPageViewController。 当我的应用程序加载时,初始视图会显示其内容,与导航栏的大小大致相同。 当我滚动pageViewController,内容跳转到它被放置在笔尖的位置,并由pageViewController加载的所有其他viewControllers罚款。 在我的AppDelegate中: self.window.rootViewController = [[UINavigationController alloc] initWithRootViewController:[ContainerViewController new]]; 在ContainerViewController中: – (void)viewDidLoad { [super viewDidLoad]; self.pvc = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal options:nil]; self.pvc.dataSource = self; self.pvc.delegate = self; DetailViewController *detail = [DetailViewController new]; [self.pvc setViewControllers:@[detail] direction:UIPageViewControllerNavigationDirectionForward animated:false completion:nil]; [self addChildViewController:self.pvc]; [self.view addSubview:self.pvc.view]; [self.pvc didMoveToParentViewController:self]; […]
– (void)someMethod { if ( [delegate respondsToSelector:@selector(operationShouldProceed)] ) { if ( [delegate operationShouldProceed] ) { // do something appropriate } } } 该文件说: 预防措施仅适用于正式协议中的可选方法或非正式协议的方法 这是什么意思? 如果我使用正式的协议,我可以使用[delegate myMethod] ?
所以我有一个nsmutablearray与一堆对象在里面。 我想创build一个逗号分隔的每个对象的id值的string。