小编Pet*_*sey的帖子

无法运行我的应用; "未找到图像"指的是捆绑框架

我正在尝试在我的应用程序中包含Sparkle框架.我真的不明白必要的具体步骤,现在我收到此错误消息:

Dyld Error Message:
Library not loaded: @loader_path/../Frameworks/Sparkle.framework/Versions/A/Sparkle
Referenced from: <..>/build/Debug/CoRay.app/Contents/MacOS/CoRay
Reason: image not found
Run Code Online (Sandbox Code Playgroud)

所以我的问题是两部分:1.如何解决我的问题?2.将框架包含在Cocoa/Obj-C应用程序中的正确途径是什么?

cocoa frameworks runtime-error objective-c

13
推荐指数
2
解决办法
6453
查看次数

dyld错误:找不到图像

我在模拟器上运行我的应用程序时收到此错误消息.

Dyld错误消息:

未加载库:/System/Library/Frameworks/UIKit.framework/UIKit

参考自:/ Users/thomasschober /对不起/ build/Distribution-iphonesimulator/Excuse Me.app/Excuse Me

原因:找不到图像

我无法理解什么是问题.请帮我解决这个问题

谢谢大家

linker cocoa-touch shared-libraries dyld

13
推荐指数
2
解决办法
2万
查看次数

我可以编辑UIImage属性CGImage的像素

UIImage有一个只读属性CGImage.我必须将其像素读取到内存块并编辑它们,然后创建一个新的UIImage来替换旧的UIImage.我想知道是否有办法绕过只读属性并直接编辑这些像素.

谢谢.


谢谢大家.我找到了一种方法.用这些方法写一个类:

-(void)preProcess:(UIImage*)srcImage {
    m_Context = ...// Created by calling CGBitmapContextCreate(...)
    ...
    CGContextDrawImage(m_Context, rect, srcImage.CGImage);
    m_Bits = (unsigned char*)CGBitmapContextGetData (mContext);
}

-(void)postProcess {
    CGContextRelease(m_Context);
    free(m_Bits);
}

-(UIImage*)doProcess:(CGPoint)pt {// just a example 
    unsigned char* ppxl = m_Bits + ...
    // do something...
    CGImageRef imRef = CGBitmapContextCreateImage(mContext);
    return [UIImage imageWithCGImage:imRef];
}
Run Code Online (Sandbox Code Playgroud)

preProcess和postProcess只调用一次.

iphone cocoa cocoa-touch core-graphics uikit

13
推荐指数
3
解决办法
2万
查看次数

如何优化核心数据查询以进行全文搜索

在搜索文本中匹配的单词时,我可以优化核心数据查询吗?(这个问题也适用于iPhone上自定义SQL与核心数据的智慧.)

我正在研究一种新的(iPhone)应用程序,它是一个科学数据库的手持式参考工具.主界面是一个标准的可搜索表视图,我想要用户键入新单词时的类型响应.单词匹配必须是文本中单词的前缀.该文本由100,000个单词组成.

在我的原型中,我直接编写了SQL.我创建了一个单独的"单词"表,其中包含主实体文本字段中的每个单词.我索引了单词并按照行进行了搜索

SELECT id, * FROM textTable 
  JOIN (SELECT DISTINCT textTableId FROM words 
         WHERE word BETWEEN 'foo' AND 'fooz' ) 
    ON id=textTableId
 LIMIT 50
Run Code Online (Sandbox Code Playgroud)

这运行得非常快.使用IN可能也会起作用,即

SELECT * FROM textTable
 WHERE id IN (SELECT textTableId FROM words 
               WHERE word BETWEEN 'foo' AND 'fooz' ) 
 LIMIT 50
Run Code Online (Sandbox Code Playgroud)

LIMIT至关重要,可以让我快速显示结果.如果达到限制,我会通知用户显示的内容太多.这是kludgy.

我花了最近几天考虑转移到Core Data的优势,但我担心架构中缺乏控制,索引和查询重要查询.

从理论上讲,NSPredicate textField MATCHES '.*\bfoo.*'会起作用,但我相信它会很慢.这种文本搜索似乎很常见,我想知道通常的攻击是什么?你会像我上面那样创建一个单词实体并使用"bEGINSWITH'foo'这个词的谓词吗?这会像我的原型一样快吗?Core Data会自动创建正确的索引吗?我找不到任何明确的方法来建议持久性存储有关索引.

我在iPhone应用程序中看到了Core Data的一些优点.故障和其他内存注意事项允许对tableview查询进行有效的数据库检索,而无需设置任意限制.对象图管理允许我轻松遍历实体而无需编写大量SQL.移植功能将来会很好.另一方面,在有限的资源环境(iPhone)中,我担心自动生成的数据库会因元数据,不必要的反向关系,低效的属性数据类型等而膨胀.

我应该潜入或谨慎行事吗?

sql iphone cocoa cocoa-touch core-data

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

CoreText是否支持Small Caps?

CoreText是否有任何设施可用于选择字体的SmallCaps变体,或者如果字体没有该功能,则可以合成小型大写字母?我在CoreText文档中找不到任何关于小型大写的内容,尽管有处理字体变体/功能的工具.有人做过类似的事吗?

core-text ios

13
推荐指数
3
解决办法
2941
查看次数

如何确定NSSearchField/NSTextField是否具有输入焦点?

如何确定NSSearchField/NSTextField是否具有输入焦点?

macos cocoa

13
推荐指数
2
解决办法
3292
查看次数

以编程方式将UITableView添加到UIViewController

我正在将一个UIViewController加载到我的一个Nav控制器层次结构中,它将包含一些文本和一些图像.在底部,我将要创建一个可扩展和可折叠的tableview.

首先,这个想法有可能吗?如果是,我该如何添加它以及在何处放置数据源和委托方法?

我可以只创建一个TableViewController的子类,然后将其作为子视图添加到我的ViewController中吗?

iphone cocoa-touch uikit ios

13
推荐指数
3
解决办法
4万
查看次数

Int to Double cast问题

我是一名具有很少C/C++经验(并且没有培训)的Objective-C开发人员,今天我遇到了一些奇怪的硬编码数值.

我确定这是一个简单/愚蠢的问题,但有人可以解释为什么这样做:

NSDate *start = [NSDate date];
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, 1 * NSEC_PER_SEC);

dispatch_after(popTime, dispatch_get_main_queue(), ^{
  NSLog(@"seconds: %f", [start timeIntervalSinceNow]);
});
// output: seconds: -1.0001
Run Code Online (Sandbox Code Playgroud)

这也有效(注意秒数已经改变):

NSDate *start = [NSDate date];
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, 2 * NSEC_PER_SEC);

dispatch_after(popTime, dispatch_get_main_queue(), ^{
  NSLog(@"seconds: %f", [start timeIntervalSinceNow]);
});
// output: seconds: -2.0001
Run Code Online (Sandbox Code Playgroud)

但这是立即执行的:

NSDate *start = [NSDate date];
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, 4 * NSEC_PER_SEC);

dispatch_after(popTime, dispatch_get_main_queue(), ^{
  NSLog(@"seconds: %f", [start timeIntervalSinceNow]);
});
// output: seconds: -0.0001
Run Code Online (Sandbox Code Playgroud)

但是,使用4.0而不是4 …

c cocoa objective-c grand-central-dispatch

13
推荐指数
2
解决办法
6593
查看次数

UIScrollView带有"循环"滚动

我试图在我的UIScrollView中滚动"循环",但不成功.

我想做什么:如果uiscrollview到达结束,如果uiscrollview在开始并向后移动它应该移动到开始,它应该移动到结束

在我的情况下附加scrollview不是好方法(其他方法应该得到"页面ID")

你有什么想法吗?

iphone cocoa-touch uiscrollview uikit ios

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

在AVPlayer中准确地寻找,而不是两秒钟

我在Cocoa应用程序中使用AVPlayer,并且我实现了一个跳转到视频末尾的命令.

问题是,AVPlayer没有寻求我告诉它的地方.

例如,我有一个视频是4分14秒.当我寻求结束时,AVPlayer寻求4分12秒 - 两秒钟.如果我然后点击播放,播放器将播放两秒钟,然后到达结尾.

我的第一次尝试是这样的:

[self.player seekToTime:self.player.currentItem.duration];
Run Code Online (Sandbox Code Playgroud)

我把它换成了这个:

[self.player seekToTime:self.player.currentItem.duration
        toleranceBefore:kCMTimePositiveInfinity
         toleranceAfter:kCMTimeZero];
Run Code Online (Sandbox Code Playgroud)

两者都没有比另一个更好.

我也试过去寻求kCMTimePositiveInfinity.那时它只是忽略了我.

播放器是否已加载视频的那部分似乎并不重要.我甚至可以寻求不完全结束,玩到真正的结局,然后再次尝试寻求到最后,它将跳回到不完全结束.

缺口并不总是两秒钟.在我的一些视频中,它或多或少地完全正确地工作,如果不完全正确,则跳得非常接近真实的结束.在至少一个,它短至三秒钟.长度似乎不是一个因素; 所有这些都是大约相同的长度,除了一个,超过一个小时,并寻求短短两秒.

那么,为什么AVPlayer在我告诉它的地方跳了多达三秒钟,我怎么说服它跳到我要求的那一刻?

macos avfoundation avplayer osx-lion

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