小编tjg*_*184的帖子

什么导致SIGSEGV使用块?

我有以下代码.我偶尔会得到一个SIGSEGV.我有一种感觉,我错过了一些关于使用块的内存管理的东西.传递被替换的Urls是否安全,这是自动释放到这个块?那么修改实例变量formattedText呢?

    NSMutableSet* replacedUrls = [[[NSMutableSet alloc] init] autorelease];

    NSError *error = nil; 
    NSDataDetector *detector = [NSDataDetector dataDetectorWithTypes:
                                (NSTextCheckingTypeLink | NSTextCheckingTypePhoneNumber)
                                                               error:&error];
    if (error) {
        return;
    }

    [detector enumerateMatchesInString:self.formattedText 
              options:0 
              range:NSMakeRange(0, [self.formattedText length]) 
              usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop) {

            @try  {
                if (result.resultType == NSTextCheckingTypePhoneNumber) {

                    if (!result.phoneNumber) {
                        // not sure if this is possible
                        return;
                    }

                    self.formattedText = [self.formattedText stringByReplacingOccurrencesOfString:result.phoneNumber
                                                                                       withString:[NSString stringWithFormat:@"<a href=\"tel://%@\">%@</a>", result.phoneNumber, result.phoneNumber]];
                }
                else if (result.resultType == NSTextCheckingTypeLink) {

                    if (!result.URL) {
                        // not sure …
Run Code Online (Sandbox Code Playgroud)

objective-c objective-c-blocks

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

我们如何使用其他人的企业计划签署iPhone应用程序?

我们写了一个我们想要出售给公司的iPhone应用程序.该公司注册了iOS Enterprise计划.

我们如何用他们的证书签署我们的申请?我知道我们可以作为团队成员添加到他们的帐户中,但还有其他任何方式.

公司对我们生成证书申请有点不安,其中一位管理员会实际创建个人资料.他们担心我们可以使用此配置文件签署其他应用程序.

如果没有我们放弃申请来源,还有其他方法吗?简而言之,我们编写了应用程序,但希望公司使用他们的企业程序和证书对应用程序进行签名.我们也想要意识到他们的安全问题.

iphone enterprise code-signing

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

我们如何防止"CoreData无法完成故障"?

我们每隔一段时间就会得到"CoreData无法解决的错误".我们已阅读Apple文档,但不清楚允许保留的内容.我们一直非常谨慎地为每个线程创建一个上下文等.但是,我们的应用程序正在做的一件事是我们在UIViewControllers上保留NSManagedObjects(通常通过NSArray或NSDictionary).我猜测正在发生的事情是对象关系正在发生变化,我们没有处理适当的通知.

有没有人对Core Data的更好设计有任何建议?当我们得到错误时,我看不到我们实际上从上下文中删除了任何导致错误的东西.如果它们保持状态,是否有必要在我们的UIViewControllers上处理NSManagedObjectContextObjectsDidChangeNotification?任何建议,将不胜感激.

iphone core-data fault

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

使用PLCrashReporter,您可以在崩溃前收到事件吗?

一旦PLCrashReporter检测到错误(异常,信号等)但在应用程序终止之前,我们希望执行其他处理(即记录当前状态).有没有人知道使用PLCrashReporter是否可行?

iphone crash objective-c

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

为什么在设置提取批量大小时 NSFetchedResultsController 加载所有行?

NSFetchedResultsController 设置为 5 以获取批量大小。我们注意到它的加载速度很慢,所以我们启用了 SQLDebug。出于某种原因,它一次加载 5 行,但它在初始加载时对所有 100 行执行此操作。加载后,它似乎一次加载 5 行。

在看控制台时,我看到查询运行了 20 次;共有 100 行。我原以为这会在前 5 行中运行 1 次,并且当您滚动时,会加载更多行。我还尝试更改提取大小,它具有相同的行为。

获取结果控制器的设置如下。

- (NSFetchedResultsController*) fetchedResultsController {

    if (_fetchedResultsController != nil) {
        return _fetchedResultsController;
    }

    [NSFetchedResultsController deleteCacheWithName:@"Root"];

    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
    NSEntityDescription *entity = [NSEntityDescription 
                                   entityForName:@"Message" inManagedObjectContext:_context];

    fetchRequest.predicate = [NSPredicate predicateWithFormat:@"conversation = %@", conversation];

    [fetchRequest setEntity:entity];

    NSSortDescriptor *sort = [[NSSortDescriptor alloc] 
                              initWithKey:@"timestamp" ascending:YES];
    [fetchRequest setSortDescriptors:[NSArray arrayWithObject:sort]];

    [fetchRequest setFetchBatchSize:5];

    NSFetchedResultsController *theFetchedResultsController = 
    [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest 
                                        managedObjectContext:_context sectionNameKeyPath:nil 
                                                   cacheName:@"Root"];
    self.fetchedResultsController = theFetchedResultsController; …
Run Code Online (Sandbox Code Playgroud)

iphone core-data objective-c

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

当我返回指向协议的指针时,为什么会出现编译错误?

@protocol Runnable

- (id<Runnable>) works; //this compiles fine

- (Runnable *) broke; // get a compile error saying Expected ')' before 'Runnable'

@end
Run Code Online (Sandbox Code Playgroud)

我不确定我理解为什么xCode抱怨这- (Runnable *) broke;条线

xcode objective-c

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