小编Fei*_*anZ的帖子

UIPopoverController dealloc被称为ARC环境

在第二次显示弹出控制器时(在解除它然后重新显示它之后),我收到以下错误:

因未捕获的异常'NSGenericException'而终止应用程序,原因:' - [UIPopoverController dealloc]到达,而popover仍然可见.

堆栈跟踪只是一堆十六进制,SIGABRT每次都发生在UIApplicationMain.这是按钮触发的代码:

- (IBAction)createNewScore:(id)sender {
    if (self.pc)
        if (self.pc.popoverVisible)
            return;
        else
        // Breakpoint is hit here—crashes after this line
            [self.pc presentPopoverFromBarButtonItem:(UIBarButtonItem *)sender permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
    NGDocumentInfoViewController *documentInfoVC = [[NGDocumentInfoViewController alloc] initWithBlankDocumentTargetInManagedObjectContext:self.context];
    UINavigationController *navc = [[UINavigationController alloc] initWithRootViewController:documentInfoVC];
    UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(doneCreatingNewScore:)];
    UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancelCreatingNewScore:)];
    navc.navigationBar.topItem.leftBarButtonItem = doneButton;
    navc.navigationBar.topItem.rightBarButtonItem = cancelButton;
    CGSize popoverSize = CGSizeMake(documentInfoVC.view.bounds.size.width, documentInfoVC.view.bounds.size.height);
    documentInfoVC.contentSizeForViewInPopover = popoverSize;
    UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:navc];
    popover.delegate = self;
    self.pc …
Run Code Online (Sandbox Code Playgroud)

memory-management dealloc uipopovercontroller ios automatic-ref-counting

19
推荐指数
1
解决办法
8965
查看次数

Xcode 4 Git-"此文件在请求的修订版本中不存在"

我有一个本地git存储库,我在Xcode 4中设置了一个项目.存储库在Organizer中显示正常,我可以在File Navigator中看到提交历史和源代码控制图标.提交工作也很好.但是,当我使用版本编辑器时,每当我尝试查看任何以前的版本时,我都会收到错误"此文件在请求的修订版本中不存在".我找不到有关此错误的任何信息,也不知道如何修复.git log显示了最近的四个提交(我知道还有更多提交,但我不知道这是否是命令的限制或者某些事情是否正在消失).有任何想法吗?

git xcode4

16
推荐指数
3
解决办法
1万
查看次数

在UIView中绘制三角形切口以供选择指示

我正在创建一个视图,作为我的应用程序的类别选择器.我希望它有一个剪切三角形作为选择指示,如下图所示:

自定义UI设计

我不知道如何绘制三角形,使其成为一个切口,露出下面的主视图.下面的主视图很可能有一个自定义的,可能是非重复的(我尚未决定)图像作为其背景.另外,我希望三角形在选择改变时动画到一个新位置,这进一步使事情变得复杂.

我意识到子视图会使动画更容易,但会使绘图复杂化; 直接绘制可能会使动画更难.而且我对Quartz不太熟悉,所以我不确定如何使用直接绘图路线.

提前致谢!

更新:我看过Matt Gallagher关于绘制带孔的形状的帖子,但它并没有真正回答我的问题.有没有办法让我"看到"我的形状中某条路径下面的东西,并复制它?...然后支持动画呢?

更新2:我通过简单地绘制一条额外的路径完成了部分工作.结果如下所示:http: //dl.dropbox.com/u/7828009/Category%20Selector.mov

代码:

CGRect cellRect = [self rectForCategoryNumber:(selectedCategoryIndex + 1)];
[[UIColor scrollViewTexturedBackgroundColor] setFill];
CGContextMoveToPoint(currentContext, self.frame.size.width, (cellRect.origin.y + cellRect.size.height * 0.15));
CGContextAddLineToPoint(currentContext, self.frame.size.width, (cellRect.origin.y + cellRect.size.height * 0.65));
CGContextAddLineToPoint(currentContext, self.frame.size.width * 0.8, (cellRect.origin.y + cellRect.size.height * 0.4));
CGContextClosePath(currentContext);
CGContextFillPath(currentContext);
[[UIColor darkGrayColor] setStroke];
CGContextSetLineCap(currentContext, kCGLineCapRound);
CGContextMoveToPoint(currentContext, self.frame.size.width, (cellRect.origin.y + cellRect.size.height * 0.15));
CGContextAddLineToPoint(currentContext, self.frame.size.width * 0.8, (cellRect.origin.y + cellRect.size.height * 0.4));
CGContextSetLineWidth(currentContext, 2.5);
CGContextStrokePath(currentContext);
[[UIColor lightGrayColor] setStroke];
CGContextMoveToPoint(currentContext,self.frame.size.width * …
Run Code Online (Sandbox Code Playgroud)

cocoa-touch core-animation core-graphics ios

16
推荐指数
1
解决办法
1万
查看次数

Xcode方案更改显示名称

我有一个自定义的Xcode构建方案,可以移动一些文件以在dev和prod变量之间切换.我也可以在开发方案中更改应用程序显示名称吗?

例如,如果应用程序名称为"MyApp",则它当前在主屏幕上显示为"MyApp".我可以配置我的开发构建方案,以便它在主屏幕上显示为"MyApp Dev"吗?我尝试设置TARGET_NAME="MyApp Dev"一个预操作构建脚本,但它似乎不起作用.

Xcode 7,iOS 9

xcode build ios

11
推荐指数
3
解决办法
4137
查看次数

iOS:从相机获取逐像素数据

我知道AVFoundation及其捕获支持(虽然不太熟悉).但是,我没有看到任何易于访问的API来获取逐像素数据(每像素RGB或类似数据).我记得在文档中读到这是可能的,但我真的不知道如何.所以:

  1. 可以这样做吗?如果是这样,怎么样?
  2. 我会获得原始图像数据或JPEG压缩数据吗?

iphone camera pixel avfoundation ios

10
推荐指数
1
解决办法
1万
查看次数

&self的类型转换会导致编译器错误

在ARC环境中,我有以下代码:

NSInvocation* invocation = [NSInvocation invocationWithMethodSignature:signature];
[invocation setTarget:delegate];
[invocation setSelector:@selector(restClient:loadedFile:contentType:eTag:)];
// Error Here!
[invocation setArgument:&self atIndex:2];
[invocation setArgument:&filename atIndex:3];
[invocation setArgument:&contentType atIndex:4];
[invocation setArgument:&eTag atIndex:5];
Run Code Online (Sandbox Code Playgroud)

将参数设置为索引2(&self)会导致以下编译器错误:

将*const __strong*发送到void*类型的参数会更改retain/release属性

我不知道如何在保持有效代码的同时解决这个问题.目前我只是坚持NULL并在try/catch块中包装invoke语句,但这是一个不太理想的解决方案.


类似的问题,如果有人也愿意解决它:

使用这行代码(来自MPOAuth库)

status = SecItemCopyMatching((__bridge CFDictionaryRef)searchDictionary, (CFTypeRef *)&attributesDictionary);
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

使用ARC不允许使用指向'CFTypeRef '(又名'const void* ')的Objective-C指针的间接指针

objective-c ios xcode4 automatic-ref-counting

9
推荐指数
2
解决办法
2291
查看次数

App Engine:结构化属性与参考属性,用于一对多关系

我设计数据存储的背景来自iOS上的Core Data,它支持与另一个实体具有一对多关系的属性.

我正在开发一个目前有三种实体类型的App Engine项目:

  • User,代表使用该应用的人.
  • Project,代表一个项目.A User可能与许多项目相关联.
  • Post,这是背后的主要内容Project.A Project可能有很多帖子.

目前,User有一个属性,projects即与Project实体的一对多关系.Project有一个属性,posts这是与Post实体的一对多关系.

在这种情况下,数据存储区的参考属性或NDB的结构化属性是否更适合作业(两者在概念上有何不同)?有没有更好的方法来构建我的数据?

python database google-app-engine database-design

8
推荐指数
1
解决办法
4031
查看次数

Capybara + RSpec,spec/features dir被rspec忽略.命令?

我使用的是新水豚DSL使用RSpec以下位于短方针这里 并添加到测试spec/features目录中运行以及单独的,即.

rails_project$ rspec spec/features/my_first_feature.rb

然而,spec/features目录完全忽略了,当我尝试运行整个测试spec/这样的目录:

rails_project$ rspec .

指南中没有提到如何包含这个目录(或其他目录)来完成我想要的包含.我真的需要这个来持续集成我的项目.

有人可以告诉我怎么做吗?

谢谢!

ruby testing rspec capybara rspec-rails

7
推荐指数
1
解决办法
2227
查看次数

如何在 GraphQL 中对“索引”列表与“显示”详细信息进行建模?

我的数据模型有两个资源:FolderMessages. 每条消息都属于一个文件夹。有时我想得到一个文件夹列表(包括每个文件夹的一些字段)。有时我想获取特定文件夹的详细信息(包括该文件夹的一些字段和消息)。

在 Rails/RESTful 系统中,这将对应于资源上的indexshow操作Folder;后者将接收id指定所需文件夹的参数。这个模式在“惯用的”GraphQL 中会是什么样子?

一种方法可能是每个操作都有一个字段:

type Query {
  folders: [Folder]
  folder(id: String!): Folder
}
Run Code Online (Sandbox Code Playgroud)

这里有一些重复,这看起来很混乱,并且使客户端更难自省和理解模式。

也许可以使用可为空的参数删除重复项:

type Query {
  folder(id: String): [Folder]
}
Run Code Online (Sandbox Code Playgroud)

如果id传递了 an ,则仅Folder返回其详细信息(作为单项数组)。如果idnil,那么它将获取所有文件夹的详细信息。这种重载似乎增加了一些隐藏的复杂性。

哪种方法是“更好的做法”?有没有更好的方法来模拟这种情况?

rest restful-architecture graphql

5
推荐指数
1
解决办法
488
查看次数

5
推荐指数
2
解决办法
2263
查看次数