小编jam*_*one的帖子

核心数据iPad/iPhone BLOBS vs文件系统,用于20k PDF

我正在使用核心数据设计一个iPad/iPhone应用程序.该应用程序的主要焦点是排序和查看多达20,000个PDF,每个约200KB.通常最好不要将BLOBS存储在数据库中,但对于桌面系统,我通常会看到它说如果blob <1 MB则可以使用数据库.我应该考虑的任何考虑因素?如果我将它们存储在文件系统中,我可以将它们全部存储在一个目录中而不会出现性能问题(因为我将每个路径存储在数据库中,所以我不需要获取目录列表)?我应该将它们分成几个目录吗?如果是这样,每个目录的文件数量有一个很好的规则吗?

iphone core-data objective-c ipad

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

List <>最好使用最大容量的init,只使用其中的一小部分,或者没有容量的init

我有一个List<MyStruct>我正在初始化为空的,我将在解析数据时在循环中填充此结构.我知道将有一个最大可能的条目数将插入此列表中.现在让我们说1000.但是在我解析了1000个条目后,我最终可能只将2放入列表中.因此,我应该初始化容量为1000的List,或者不指定容量,只需添加少量条目.然而,最终可能会增加所有1000个.性能明智的最佳方式是什么?

.net c# list

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

为什么不调用viewWillDisappear或viewDidAppear?

我有UINavigationController一个UITableView作为我的主菜单.用户单击一个单元格,并在堆栈上推送新视图.在一种情况下,我推另一个UITableView需要工具栏.所以在第二个tableView的init上我self.toolbarItems用正确的项设置了属性.但是我需要调用[self.navigationController setToolbarHidden:NO animated:YES];所以在viewDidAppear或者viewWillAppear方法中调用它是有意义的.但我把它放在那些方法中并找出(也是通过NSLog)它们永远不会被调用.将其隐藏在viewWillDisappear或中也是如此viewDidDisappear.为什么不调用这些方法?我应该在哪里隐藏/显示工具栏呢?

iphone uiviewcontroller ipad ios

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

自定义UIControl子类在IB for iOS中设置位置

我正在制作一个UIControl子类,因此以编程方式布置其中的所有内容.现在我已经完成了它,我需要在各种屏幕上多次放置它.我知道你不能为iOS制作一个IB插件,但是没有办法在IB中使用UIView并将其大小/放置在我应该控制的位置,然后将其'Custom Class属性设置为我的UIControl的子类?我知道我不会看到它在IB中的显示方式,但至少这让我可以设置相对于屏幕上其他内容的整体大小和位置.我还在viewController中创建了IBOutlets,并将IB中的视图正确连接到它们.运行然而,当我看不到任何自定义,而当我设断点initWithFrame:loadView我从来没有看到我的代码将被调用.我该怎么做?

custom-controls interface-builder ios

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

iOS 13 Image Capture API是否可以访问外部相机的文件系统?

Apple的iOS 13功能列表页面中,它们具有以下内容:

图像捕捉API

利用Image Capture API,开发人员可以利用Camera Connection Kit将照片直接导入其应用程序。

我一直在寻找,但似乎找不到有关此更改及其在API中的位置的任何实际文档。我还记得在WWDC 19的主题演讲/工会状态中听到过一两秒钟的谈论,但是到目前为止我没有发现任何细节。

看来您可以将相机或其SD卡插入iOS设备上的USB-C / Lightning端口,并能够从第三方应用程序中访问它。我知道您可以导入系统照片库,但是已经存在了很多年。我也了解ExternalAccessoryMiFi硬件的框架,但是我没有看到任何重大变化,而且似乎没有公开所描述的功能。

我确实看到UIDocumentPicker可以显示出来,并且它允许用户选择连接的USB设备上的位置。尽管这可行,但如果用户没有选择有效的相机位置,则它不是特定于相机的,并且很容易出错。

有人知道我在哪里可以找到有关此更改的更多信息,或者如何以编程方式访问相机的文件系统?相机将具有标准的相机文件夹结构DCIM和内容,因此许多Mac应用程序将其视为相机文件系统。

usb camera ios ios13

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

来自NSString的NSDate

我已经阅读了DateFormatting指南,但我仍然无法获得有效的格式化程序.

NSString *string = @"0901Z 12/17/09";   
//This is a sample date. The Z stands for GMT timezone
//The 0901 is 09h 01m on a 24 hour clock not 12.
//As long as I can get the hours/min & date from the string I can deal with the time zone later
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"hhmm'Z' MM/dd/yy"];
NSDate *date = [dateFormat dateFromString:string];
Run Code Online (Sandbox Code Playgroud)

iphone objective-c nsdate nsdateformatter

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

不使用数据库但在内存对象中使用是不是很糟糕?

我的任务是编写一个供单个用户使用的小应用程序.这个应用程序将从我们的主员工DB中提取约500个员工姓名/部门.然后,用户将为每个员工输入5个字段.这5个字段通常每年只更改一次,但最坏情况可能是每月一次.我应该在任何给定的时间跟踪2年的价值.

我看过SQLite和SQL CE,我对其中任何一个都不感兴趣.SQL CE不希望允许数据文件驻留在网络共享上.(只有一个用户,但他们将所有文档存储在每天备份的私有共享上).

SQLite似乎更适合该法案,但它没有整合到没有包装或任何东西的Visual Studio中.

另一件需要考虑的事情是,我们的人员精通MS的SQL Server而其他方面很少,因此他们对SQLlite的理解对我的老板来说将是一件重要的事情.

所以我的问题是:如果我将数据存储在内存中的对象并在保存时将它们序列化为磁盘怎么办?我做了一个快速测试,有10k人(我们的使用量最多只有500-1000)和10年(如果他们每月更新他们的数据10个月,非常不可能)只会导致我的演示应用程序使用30MB记忆.即使使用GUID随机填充所有字符串,也填充该数据是即时的.这是一个坏主意吗?它是一个相当简单的应用程序,在这种情况下,它似乎对我好.

.net sql

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

故事板将NavController的rootViewController设置为tableView但在应用程序启动时显示其他视图

我有一个基本的导航堆栈:NavController-> UITableViewController(作为NavController中的rootViewController) - >菜单项,主选项是自定义viewController.我希望我的应用程序可以使用主自定义视图控制器作为navigationController堆栈上的当前视图启动,然后使用后退按钮进入主菜单.是否有某种方法使用故事板以这种方式设置堆栈,但在启动时首先显示自定义视图?

我试图尽可能地在故事板中这样做.我知道我可以进入appDelegate和appDidFinishLaunching ...将自定义viewController推入navController,但这看起来很糟糕,因为在我的appDelegate中我必须引用navController和自定义viewController.

objective-c interface-builder storyboard ios

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

将带有unicode字符的NSString转换为有效的HTML

我从一个带有锚标签的API中获取一个字符串,所以我NSAttributedString从中创建了一个字符串,并将其显示在一个UITextView所以我可以支持可点击的链接.

问题是传入的字符串不是有效的HTML,因此它中没有未转义的unicode字符.像:

  • HORIZONTAL ELLIPSIS Unicode:U + 2026,UTF-8:E2 80 A6
  • EM DASH Unicode:U + 2014,UTF-8:E2 80 94

虽然我可以处理这些特定情况,但我担心任何其他的unicode字符,我目前还不知道.

例:

NSString *fromAPI = @"Reagan \U2014 saying";
NSDictionary *options = @{NSDocumentTypeDocumentAttribute : NSHTMLTextDocumentType};
NSData *data = [fromAPI dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:NO];
NSAttributedString *attributedString = [[NSAttributedString alloc] initWithData:data options:options documentAttributes:nil error:nil];
Run Code Online (Sandbox Code Playgroud)

这在UITextView中呈现为: 在此输入图像描述

如何让它正确渲染em破折号和其他unicode?

html unicode objective-c ios

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

分类,协议,一大类?我应该在这里使用什么

我正在尝试实现通用数字类.基本上我的应用程序需要从用户接收一个字符串并解析它以确定它的英制(ft的分数或其中的任何组合)或其度量(m cm mm或任何组合).我的想法是制作Metric和Imperial类,两者都是更通用的类型.然后UI创建一个Number对象,传入字符串进行解析,数字确定它是公制还是英制.我看到如何轻松制作一个大数字类来实现这一点,但似乎我应该将度量和英制类与标准接口(数字)分开,因为它们会做更多的事情,然后只需解析字符串.

所以如果我这样做,Number *num = [[Number alloc] initWithString:someString];我会得到一个特定于Imperial或Metric的Number子类.这是我知道某些事情没有意义的地方,但我不知道该怎么做.

处理这个问题的好方法是什么?

iphone objective-c ipad ios

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