小编Tec*_*Zen的帖子

NSManagedObjectModel中的合并模型中的跨模型关系?

如果实体总是在通过合并相关模型创建的NSManagedObjectModel中使用,是否可以建模在单独的NSManagedObjectModel中定义的实体之间的关系?

例如,假设模型1定义Foo具有关系(一对一)toBar的实体,模型2定义Bar具有关系(一对一)的实体toFoo.我将使用-[NSManagedObjectModel mergedModelFromModels]合并模型1和模型2 来构建CoreData堆栈.有没有办法在数据建模器中或以编程方式定义这些关系,以便它们的行为就像它们是模型内关系一样?

macos cocoa core-data nsmanagedobject nsmanagedobjectcontext

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

在Xcode中使用MacRuby Debugger?

在Xcode中开发MacRuby应用程序时,有没有使用MacRuby调试器macrubyd?

据我所知,即使从终端也不能这样做.我已经想到了kludgy的工作,但我想在我烧掉任何时间之前仔细检查一下情况.

使用MacRuby 0.10和Xcode4.

debugging macruby xcode4

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

什么时候 - [UIView drawRect:]方法被调用?

它是在主视图显示之前调用的

我们可以随时打电话吗?

iphone uiview cgcontext

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

iPhone SDK核心数据:获取所有具有零关系的实体?

我有一个拥有书籍和作者的核心数据项目.在数据模型中,作者与书籍和书籍有很多关系,与作者有1-1的关系.我正在尝试拉出所有没有作者的书籍.无论我如何尝试,都不会返回任何结果.在我的谓词中,我也试过= NIL,== nil,== NIL.任何建议,将不胜感激.

// fetch all books without authors
- (NSMutableArray *)fetchOrphanedBooks {
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Book" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];
[fetchRequest setFetchBatchSize:20];

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"author == nil"];
[fetchRequest setPredicate:predicate];

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:NO];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];

NSString *sectionKey = @"name";//nil;
NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:managedObjectContext
                                                                                                  sectionNameKeyPath:sectionKey cacheName:nil];
BOOL success = [aFetchedResultsController performFetch:nil];
NSMutableArray *orphans = nil;

// this is …
Run Code Online (Sandbox Code Playgroud)

iphone core-data nspredicate

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

使用聚合操作崩溃:Core Data iOS应用程序中的"ALL"

我正在开发一个iphone应用程序,我与Group和Contact对象建立了一个简单的多对多关系.一个组可以有多个联系人,联系人可以属于多个组.

我正在尝试使用以下谓词选择特定联系人不属于的所有组.(注意:uid字段是我用来唯一标识联系人实体的字符串字段)

[NSPredicate predicateWithFormat:@"ALL contacts.uid != %@", contactUId]
Run Code Online (Sandbox Code Playgroud)

根据Apple的谓词编程指南,ALL聚合操作是有效的,但是我得到以下异常,表明这是一个不受支持的谓词:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unsupported predicate (null)'
Run Code Online (Sandbox Code Playgroud)

我可以使用类似的谓词来使用此谓词选择联系人已经属于的所有组,因此看起来我已正确定义了所有关系和字段.

[NSPredicate predicateWithFormat:@"ANY contacts.uid == %@", contactUId]
Run Code Online (Sandbox Code Playgroud)

在构造谓词时抛出异常,而不是在我尝试实际执行获取请求时抛出异常,因此它似乎与我使用的语法相关,而不是与Core Data支持相关.我究竟做错了什么?

iphone predicate core-data nspredicate ios

8
推荐指数
2
解决办法
2951
查看次数

awakeFromNib的好处?

我一直在学习coredata,通过制作许多基于xcode Navigation控制器模板的简单测试应用程序并选中"使用coredata".

App委托中的awakeFromNib方法一直是我的问题来源,因为我正在向控制器添加其他视图并更改加载顺序,因此RootViewController可能是第二个或第三个选择.

我已经弄清楚awakeFromNib正在做什么,我已经删除了它,因此app委托不再绑定到任何特定的视图.(所以当我想加载RootViewController时,我会将其作为常规视图加载,并使用自己的viewDidLoad为视图初始化managedObjectContext).

我的问题:在AppDelegate中使用awakeFromNIb是否有性能提升或其他好处?或者它只是我从viewDidLoad方法做同样的事情的另一种方式?

delegates views ios awakefromnib

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

核心数据错误是指反身多对多关系中不存在的核心数据属性

我遇到了一个令人困惑的Core Data错误,我在尝试保存一些数据时收到以下错误消息:

CoreData: error: (1) I/O error for database at /var/mobile/Applications/5D3C0F3C-E097-43BF-887B-2870B1148226/Documents/Database.sqlite.  SQLite error code:1, 'table Z_1RELATEDCARDS has no column named FOK_REFLEXIVE'

Core Data: annotation: -executeRequest: encountered exception = I/O error for database at /var/mobile/Applications/5D3C0F3C-E097-43BF-887B-2870B1148226/Documents/Database.sqlite.  SQLite error code:1, 'table Z_1RELATEDCARDS has no column named FOK_REFLEXIVE' with userInfo = {

    NSFilePath = "/var/mobile/Applications/5D3C0F3C-E097-43BF-887B-2870B1148226/Documents/Database.sqlite";

    NSSQLiteErrorDomain = 1;

}
Run Code Online (Sandbox Code Playgroud)

对于某些上下文:我的数据模型中没有列"反身".我有一个实体,卡片,它有一个属性,relatedCards,这是卡片项目之间的多对多关系.我很困惑这个错误所指的是什么,并且非常感谢任何帮助.


UPDATE

根据评论中的一个很好的建议,我使用参数在iOS模拟器中运行应用程序-com.apple.CoreData.SQLDebug 3并收到以下响应:

CoreData: annotation: Connecting to sqlite database file at "/Users/jason/Library/Application Support/iPhone Simulator/5.0/Applications/4EE6D378-A946-4EBF-9849-F7D2E58F2776/Documents/Database.sqlite"
CoreData: sql: pragma cache_size=200
CoreData: sql: BEGIN EXCLUSIVE …
Run Code Online (Sandbox Code Playgroud)

sqlite iphone many-to-many core-data ios

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

错误: - [UIImage _deleteExternalReferenceFromPermanentLocation]无法识别的选择器发送到实例

当我删除包含图像的托管对象时,在外部记录中存储为可转换的值,然后我崩溃并出现此错误:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIImage _deleteExternalReferenceFromPermanentLocation]: unrecognized selector sent to instance 0xde49360' 
Run Code Online (Sandbox Code Playgroud)

core-data transformable ios5

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

如何使用Emscripten从Swift编译Hello Word到JavaScript

鉴于最简单的swift文件:

println("lol")
Run Code Online (Sandbox Code Playgroud)

在命令行上运行它xcrun swift -i lol.swift或者编译成可执行文件xcrun swift lol.swift -o lol是很简单的,但是如何为emscripten进行简单的概念验证呢?

我之前没有使用过emscripten,但是在http://kripken.github.io/emscripten-site/docs/getting_started/Tutorial.html上使用C++获得了一个hello world示例,并且想要编译我的Swift代码.

我试过了

xcrun swift lol.swift -emit-bc -o lol.bc
emcc lol.bc
Run Code Online (Sandbox Code Playgroud)

但是得到

Value:   %1 = call { i8*, i64, i64 } @_TFSS37_convertFromBuiltinUTF16StringLiteralfMSSFTBp17numberOfCodeUnitsBw_SS(i8* bitcast ([4 x i16]* @0 to i8*), i64 3)
LLVM ERROR: Unrecognized struct value
Traceback (most recent call last):
  File "/Users/glen/Downloads/emsdk_portable/emscripten/1.16.0/emcc", line 1540, in <module>
shared.Building.llvm_opt(final, link_opts)
  File "/Users/glen/Downloads/emsdk_portable/emscripten/1.16.0/tools/shared.py", line 1267, in llvm_opt
assert os.path.exists(target), 'Failed to run llvm optimizations: ' + …
Run Code Online (Sandbox Code Playgroud)

javascript llvm emscripten swift

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

在ERB模板中转义行返回/结束行

我需要能够在ERB中格式化未打印的逻辑行,而不会影响模板的最终文本输出.在这一点上,我认为ERB不支持这种逃避.

这是我的第一个主要Ruby项目.我正在编写代码生成器.我的模板将包含大量的条件和枚举.为了使模板可读和可维护,我需要能够格式化逻辑代码和注释,而不会扭曲最终输出.

例如假设我想要这个输出:

Starting erbOutput
1
2
3
4
Ending erbOutput
Run Code Online (Sandbox Code Playgroud)

我天真地写了这样的模板:

require 'erb'
h=<<H
Starting erbOutput
<%# comment %>
<%5.times do |e|%>
<%=e.to_s  %>
<%end %>
<%# comment %>
Ending erbOutput
H
s=ERB.new(h).result
puts s
Run Code Online (Sandbox Code Playgroud)

......但这会产生

Starting erbOutput


0

1

2

3

4


Ending erbOutput
Run Code Online (Sandbox Code Playgroud)

直印:

"Starting erbOutput\n\n\n0\n\n1\n\n2\n\n3\n\n4\n\n\nEnding erbOutput\n"
Run Code Online (Sandbox Code Playgroud)

...清楚地表明逻辑和注释行的换行符包含在ERB输出中.

我可以通过将模板塞入这种笨拙的形式来产生所需的输出:

h=<<H
Starting erbOutput<%# comment %>
<%5.times do |e|%><%=e.to_s  %>
<%end %><%# comment %>Ending erbOutput
H
Run Code Online (Sandbox Code Playgroud)

...但我不认为我可以在没有更多可读格式的情况下调试和维护模板.我的一些条件和枚举深达三个级别,我评论很多.在一行或两行上填写所有内容会使模板完全无法读取.

有没有办法逃避或以其他方式抑制ERB中注释行的逻辑行返回?其他常用的Ruby模板模块是否能更好地处理这个问题?

如果它很重要,我在MacOS 10.6.7上使用MacRuby 0.10(实现Ruby 1.9.2).

ruby formatting erb macruby

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