小编Bam*_*a91的帖子

使用特定长度的随机字节生成NSData对象的最佳方法?

如果我使用dataWithBytes:length:创建一个特定大小的新NSData对象,那么创建输入字节(20 Mb值)随机字符的最有效方法是什么,最好不要从文件中读取数据?我每次都需要一个特定大小的独特缓冲区.

谢谢

c iphone objective-c nsdata

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

UILabels用不同的字体底部对齐的方法是什么?

我在自定义UITableViewCell的contentView中有一个UILabel数组.通过排序来确定每个标签的字体大小以形成标签云.在设置单元格(行)的方法中,我遍历适合该行的单词对象,为每个UILabel设置框架,如下所示:

CGRect theFrame = CGRectMake(xPosAdjuster,
    theWordRow.rowHeight - thisWord.lblHeight,
    thisWord.lblWidth,
    thisWord.lblHeight);
UILabel *myLabel = [[UILabel alloc] initWithFrame:theFrame];
Run Code Online (Sandbox Code Playgroud)

这会使标签的帧对齐(请参见下图),但不幸的是,标签的填充是字体大小的函数.

替代文字

有没有办法删除UILabel上的填充(边框)和/或完全计算它,以便我可以相应地调整帧的y位置?

谢谢

iphone cocoa-touch uitableview uilabel

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

如何在UILabel上处理触摸事件作为UITableViewCell的子视图?

我的应用有自定义UITableView.在它的cellForRowAtIndexPath委托方法中,UIViewController我实例化UITableViewCell包含多个自定义UILabel(实际上是子类OHAttributedLabel)的自定义对象作为内容视图的子视图.

我尝试userInteractionEnabled = YES在标签上设置,然后在视图控制器中添加触摸事件,但这不起作用.

想法?

谢谢

iphone cocoa-touch objective-c uitableview ios

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

如何使用自定义单元格大小提高UICollectionView的性能?

当用户键入时,我通过遍历后台线程中的本地字图来检索结果(文本).每次击键都会取消之前的操作.如果操作完成,则更新数据源并在主线程上调用reloadData.即使返回了数万个结果,这也非常有效并且速度非常快(与用户可以输入的速度一样快).

为了自定义每个集合视图单元的大小,我为UICollectionViewDelegateFlowLayout委托实现了sizeForItemAtIndexPath.不幸的是,当用户输入时,这会导致一个小但明显的延迟.为了确保在我的大小计算逻辑中没有丢失时间,我尝试返回一个固定的大小,但它仍然杀死了性能.我对此感到惊讶,因为在任何给定时间屏幕上只有约120个单元格.在评论此方法时,即使对于非常大的数据集,响应时间也是立即的.

有关使用自定义单元大小提高UICollectionView性能的任何想法吗?

谢谢

补充说明......

程序返回给定字母集中的所有可能单词,然后按分数或按字母顺序排序等.当用户键入时,总字数会快速上升(如果输入多个通配符,则指数级).键入时单词会发生变化,因此单元格的宽度会相应更新并换行到流程布局处理的下一行.

问题似乎是在任何给定时间屏幕上显示的单元格数量.在sizeForItemAtIndexPath中,如果我只返回一个只有一个或两个单元格可见的大尺寸,那么更新速度非常快; 但是,如果我返回一个恰好适合文本的大小,我最终会得到100个以上的可见单元格并且存在延迟.如果我注释掉sizeForItemAtIndexPath并且只使用固定大小的单元格,那么它很快,但这不是我想要的.

cocoa-touch objective-c ios uicollectionview uicollectionviewcell

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

当注册名称不唯一时,有什么方法可以从 ROT 获取对象?

我需要获取正在运行的对象的特定实例(来自 c#)。此应用程序可能有多个正在运行的实例。不幸的是,这个应用程序总是以完全相同的名称在 ROT 中注册(例如,“!{DED89DB0-45B6-11CE-B307-0800363A1E02}”)。我可以使用此处显示的技术遍历 ROT并找到我的应用程序的唯一实例,但是当我在 IRunningObjectTable 实例上使用 GetObject 方法时,它始终返回注册的第一个对象。

有没有办法获得对该特定对象的引用?这么近,却又这么远……

.net c# com winapi com-interop

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

获取NSString中所有大写字母的NSRange对象数组的最快方法?

我需要NSRange对象作为给定NSString中每个大写字母的位置,以输入自定义属性字符串类的方法. 

当然有很多方法可以实现这一点,例如rangeOfString:options:使用NSRegularExpressionSearch或使用RegexKitLite在遍历字符串时单独获取每个匹配. 

完成此任务的最快表现方法是什么?

iphone objective-c nsstring ios nsrange

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

非常大的NSDictionary与核心数据vs SQLite在iPhone上只读查看?

我正在修改一个iPhone文字应用程序,我使用DAWG结构在用户输入时实时查找来自用户定义的字库的字谜.那部分效果很好.识别出单词后,我想检索有关plist文件中当前所有单词的具体信息(用单词键控).应用程序启动时需要导入此信息并可用.

在启动时,我可以使用initWithContentsOfFile轻松地将plist准备到NSDictionary对象中,但这会创建一个包含~200,000个键/值对的字典.我猜这不是最好的方法,因为txt,bin和xml格式的plist文件分别是2.8 MB,3.9 MB和7.5 MB.

我应该使用Core Data还是SQLite?我的首要任务是性能,因为我希望在用户输入的情况下实时查找数万个实时结果的信息.

谢谢

sqlite iphone core-data nsdictionary plist

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