小编Pau*_*aul的帖子

扩展NSManagedObject的删除方法

我正在使用CoreData,并想知道我是否可以以某种方式扩展我的NSManagedObjects来做自定义的东西(比如删除属于这个实例的文件).

在我的例子中,我有几个CoreData实体,每个实体可能有一个存储在属性中的文件夹或文件路径.如果实体被删除,我希望这个实体负责自己删除引用的文件.

与"级联"删除规则结合使用时,此类行为特别有用,因为删除实体会删除所有子实体及其文件.

如果没有这样的机制,我会为包含自定义删除方法的每个实体编写一个类别,包括可能有子节点的实体的级联行为.

你会做什么,我的问题有一个优雅的解决方案吗?之前已经讨论过了,我还没有找到它吗?

非常感谢!

保罗

core-data objective-c nsmanagedobject

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

设备特定图像中的设备在资产目录中设置

我想为新的iPhone 6和iPhone 6 Plus更新我的应用程序.为此,我从Xcode 6中的资产目录中选择了一个图像集.由于我只为iPhone开发,我在Xcode属性检查器中选择了"特定于设备".现在我可以在以下设备之间进行选择:

  • 苹果手机
  • Retina 4英寸
  • iPad的
  • 苹果电脑

只选择iPhone我会得到以下尺寸:

  • 1X
  • 2倍
  • 3X

仅选择Retina 4英寸只给我一个尺寸:

  • Retina 4 2x

为什么4英寸屏幕不同于3.5英寸,4.7英寸和5.5英寸?在我看来,将1x2x组合起来是有意义的,因为它们都可以在宽高比为4:3的设备上使用,Retina 4 2x3x用于宽高比为16:9的设备.

我真正的问题:为了支持iOS 7.0及更高版本,我需要提供什么?我显然不需要1x图像,因为我的应用程序不支持任何非视网膜设备.2x似乎对iPhone 4s来说是合理的.如果我已提供2x,我是否需要Retina 4 2x?iPhone 6会使用2x还是Retina 2x3x适用于iPhone 6 Plus,毫无疑问.

谢谢你的帮助.

xcode ios asset-catalog iphone-6 iphone-6-plus

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

CMake Xcode生成器使用不再支持的选项

我正在尝试从Insight Toolkit(ITK,itk.org)制作一个Xcode项目.我向终端发出以下命令:

ccmake -DCMAKE_C_COMPILER=/Applications/Xcode.app/Contents/Developer/usr/bin/gcc -DCMAKE_CXX_COMPILER=/Applications/Xcode.app/Contents/Developer/usr/bin/g++ -GXcode /<path to source>
Run Code Online (Sandbox Code Playgroud)

当我尝试生成项目时,它失败并出现此错误:

CMake Error at /Applications/CMake 2.8-7.app/Contents/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:52 (MESSAGE):

The C compiler "/Applications/Xcode.app/Contents/Developer/usr/bin/gcc" is not able to compile a simple test program.

It fails with the following output:

Change Dir: /<path to destination folder>/CMakeFiles/CMakeTmp

Run Build Command:/Applications/CMake\ 2.8-7.app/Contents/bin/cmakexbuild -project CMAKE_TRY_COMPILE.xcode build -target cmTryCompileExec -buildstyle Development

xcodebuild: error: option '-buildstyle' is no longer supported
Run Code Online (Sandbox Code Playgroud)

如何配置对cmakexbuild的调用?我没有在CMake配置菜单中找到相应的条目.

我发现其他用户与其他项目有类似的问题所以我认为这是CMake配置的问题.

我在Mac OS X Lion 10.7.3上使用Xcode 4.3和CMake 2.8.7.

谢谢你的帮助,

保罗

xcode generator cmake xcodebuild itk

6
推荐指数
1
解决办法
5483
查看次数

在Gradle构建脚本中访问Teamcity内部版本号

如何在Teamcity执行的Gradle脚本中访问内部版本号和VCS结帐号码?

在Ant我可以分别使用${build.number}${build.vcs.number.1}.

谢谢.

teamcity properties build gradle

4
推荐指数
1
解决办法
9934
查看次数

将Unmanaged <AnyObject>与nil进行比较

该代码是从以下博客文章中复制而来的:http://matthewpalmer.net/blog/2014/06/21/example-ios-keychain-swift-save-query/

我以前有这个代码:

// Search for the keychain items
let status: OSStatus = SecItemCopyMatching(keychainQuery, &dataTypeRef)

// The following line crashes with an EXEC_BAD_ACCESS if dataTypeRef is nil
var opaque = dataTypeRef!.toOpaque()
Run Code Online (Sandbox Code Playgroud)

当我在钥匙串查询中使用新帐户值运行上述操作时,dataTypeRefnil导致一个EXEC_BAD_ACCESS.

我试图通过检查是否dataTypeRefnil这样来绕过这个:

var opaque = COpaquePointer.null()
if (dataTypeRef != nil) {
    opaque = dataTypeRef!.toOpaque()    // This line should not be executed.
}
Run Code Online (Sandbox Code Playgroud)

虽然调试器显示dataTypeRefnil它仍然会进入if语句和崩溃.

谁能解释一下这里发生了什么?我确实有Objective-C的经验,但我无法弄清楚这里发生了什么.

ios swift xcode6.1

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

缓存外部构建脚本以供脱机使用

我想外化我的大型构建文件的通用部分,以便在项目之间共享它们.我认为最简单的选择是将Gradle代码放入新的构建文件并将它们存储在服务器上.然后我可以将它们包含在"apply from:"中.

这样做的缺点是,如果没有互联网连接,则构建失败.

你会如何解决这个问题?我可以让Gradle缓存在线构建脚本吗?

感谢您分享您对此问题的看法.

gradle

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