小编bne*_*ely的帖子

如何通过FMDB保存和检索NSdata到sqlite

如何保存NSData到sqlite中,我使用FMDB包装器来保存数据.

下面是我到目前为止尝试过的代码
用于保存

NSData *data = [NSKeyedArchiver archivedDataWithRootObject:model.expertArray];; 
NSString *query = [NSString stringWithFormat:@"insert into save_article values ('%@','%@','%@','%@','%@','%@')",
                       model.Id, model.title, model.earliestKnownDate, data, model.excerpt,model.image_url];
Run Code Online (Sandbox Code Playgroud)

对于Retriving

while([results next]) {
  NSData *data = [results dataForColumn:@"experts"];
        NSMutableArray *photoArray = [NSKeyedUnarchiver unarchiveObjectWithData:data];
 }     
Run Code Online (Sandbox Code Playgroud)

我已尝试过两种数据类型blob和文本但到目前为止没有运气,有人可以指导我怎么做吗?

sqlite fmdb ios ios7

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

如何在Xcode中的UITests之间保持应用程序打开

我有一系列的UITests我想作为单独的测试运行,但我不想在每次测试之间重新启动应用程序.如何启动应用程序并使其保持打开状态,以便它不会在测试之间关闭和重新启动.

我尝试在init()中放置XCUIApplication().launch()但是出错了.

xcode-ui-testing

7
推荐指数
2
解决办法
2155
查看次数

Ruby:如何从文件加载哈希?

是否有一个Ruby工具允许我以(Abbreviated => Abr)的格式加载缩写文件?然后我需要从另一个文件中读取每个单词.如果单词与缩写中的单词匹配,我需要将其更改为缩写单词.我想我可以使用Hash,但我不知道如何从文件中加载它.

ruby hashtable

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

将旧代码从OS X 10.6更新到10.7

我正在尝试更新ODBCQueryTool,因此它在10.7下构建.它最初针对10.6,在新版本的Xcode中不直接支持.现在,一个正常工作的构建会很好,但理想情况下我想制作一个可在10.5或更新版本上构建和运行的版本.

所以开始我下载并安装了10.6 SDK.此时许多问题都消失了,但我得到了一系列问题:

ld:警告: directory not found for option '-F/Users/maury/Develop/odbckit/ODBCQueryTool/../ODBCKit/build/Release'

Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_NSMutableOrderedSet", referenced from:
      objc-class-ref in libarclite_macosx.a(arclite.o)
Run Code Online (Sandbox Code Playgroud)

我在谷歌找不到任何有用的东西.我的印象是ARC是10.7和更新的一部分,所以我不清楚为什么我会得到这些.

macos automatic-ref-counting

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

在初始编辑后,Xcode 5显示具有较小/不同字体的文本文件

我在Xcode 5中为我的项目添加了一个名为notes.txt的空文件.它是一个以星号或连字符开头的注释列表,以及一些空白行.在最初编辑时,字体大小很好.但在查看了一些源文件并返回notes.txt后,字体突然变小了.

我没有在Xcode窗口右侧的Utilities视图中的File Inspector中看到任何字体设置.文件类型为"默认 - 纯文本".我尝试将其更改为"Objective-C Source"以查看是否会产生任何影响,但事实并非如此.

我在Xcode的字体和颜色首选窗格中使用的主题是Midnight,Menlo Regular - 14.0用于源编辑器,Menlo Regular - 13.0用于控制台(但我也要将其设置为14.0).但是,notes.txt文件似乎使用大小为10或11的字体.我该如何解决这个问题?

编辑:我刚刚在文件中添加了一个新行,我可以看到较小的文本实际上是一个不同的字体.在下图中,第23行是旧文本,第25行是新文本.第25行看起来像我期望的Menlo字体.

在此输入图像描述

xcode fonts editor

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

iOS 7 MapKit崩溃:[VKRasterOverlayTileSource invalidateRect:level:]中的EXC_BAD_ACCESS

我在iOS 7上只有一个不可重现的崩溃.我正在大量使用MKOverlayRenderer在地图上绘制形状.在iOS 6上不会发生此崩溃.

任何与此相关的想法都会有用.

Exception Type: EXC_BAD_ACCESS 

Code: KERN_INVALID_ADDRESS at 0x291707628

Stack:

0    libobjc.A.dylib     objc_msgSend + 5
1    VectorKit   __50-[VKRasterOverlayTileSource invalidateRect:level:]_block_invoke_2 + 38
2    VectorKit   -[VKTileKeyMap enumerateKeysAndObjectsUsingBlock:] + 58
3    VectorKit   -[VKTilePool enumerateKeysAndObjectsUsingBlock:] + 76
4    VectorKit   __50-[VKRasterOverlayTileSource invalidateRect:level:]_block_invoke + 178
5 ...    libdispatch.dylib   _dispatch_call_block_and_release + 10
6    libdispatch.dylib   _dispatch_client_callout + 22
7    libdispatch.dylib   _dispatch_main_queue_callback_4CF$VARIANT$mp + 268
8    CoreFoundation  __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 8
9    CoreFoundation  __CFRunLoopRun + 1300
10   CoreFoundation  CFRunLoopRunSpecific + 522
11   CoreFoundation  CFRunLoopRunInMode + 106
12   GraphicsServices    GSEventRunModal …
Run Code Online (Sandbox Code Playgroud)

exc-bad-access mapkit mkmapview ios ios7

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

隐藏XCTest控制台消息

在Xcode 5中使用XCTest运行测试时,有没有办法禁用一些额外的控制台消息?每次运行测试时,Xcode都会打印出一些关于我没有运行的测试的无用行:

Test Suite 'xxxxViewTests' started at 2014-01-13 17:10:48 +0000
Test Suite 'xxxxViewTests' finished at 2014-01-13 17:10:48 +0000.
Executed 0 tests, with 0 failures (0 unexpected) in 0.000 (0.000) seconds
Test Suite 'yyyyyyViewTests' started at 2014-01-13 17:10:48 +0000
Test Suite 'yyyyyyViewTests' finished at 2014-01-13 17:10:48 +0000.
Executed 0 tests, with 0 failures (0 unexpected) in 0.000 (0.000) seconds
Test Suite 'zzzzzzzViewTests' started at 2014-01-13 17:10:48 +0000
Test Suite 'zzzzzzzViewTests' finished at 2014-01-13 17:10:48 +0000.
Executed 0 tests, with 0 failures …
Run Code Online (Sandbox Code Playgroud)

xcode5 xctest

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

点击UITextField时,键盘和光标都不会出现

我正在Xcode 5.0.2上测试一个简单的应用程序.使用storyboard,我拖动了两个由segue连接的视图控制器.在第一个视图控制器上有一个按钮,按下该按钮后,下一个控制器出现,其中有两个文本字段.当我点击文本字段时,键盘没有显示,文本光标丢失.

textFieldViewController.h文件

@property (weak, nonatomic) IBOutlet UITextField *nameField;

@property (weak, nonatomic) IBOutlet UITextField *numberField;

- (IBAction)textFieldDoneEditing:(id)sender;


- (IBAction)backgroundTap:(id)sender;
Run Code Online (Sandbox Code Playgroud)

textFieldViewController.m文件

 - (IBAction)textFieldDoneEditing:(id)sender {
    [sender resignFirstResponder];
}

- (IBAction)backgroundTap:(id)sender {
    [self.nameField resignFirstResponder];
    [self.numberField resignFirstResponder];
}
Run Code Online (Sandbox Code Playgroud)

截图 在此输入图像描述

uitextfield ios

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

ABRecordRef字段似乎没有填充?

[背景:iOS 7,Xcode 5,两者都是截至2014年2月的最新版本.测试数据是在iPhone 5(真实设备,非模拟器)上除了基本联系信息之外还有多个电话号码和多个地址的地址簿条目]

我的目标是使用AddressBookUI方法允许用户指定联系人,然后使用各种字段(地址,电话号码等)填充我的代码中的GUI.这ABPeoplePickerNavigationController是允许用户按名称选择联系人的标准机制.这样做会导致调用此委托方法:

- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker 
shouldContinueAfterSelectingPerson:(ABRecordRef)person
Run Code Online (Sandbox Code Playgroud)

但是,如果我此时检查人员记录,则没有任何多值字段具有任何数据.所以我提取了RecordID,检索到了,结果ABRecordRef也没有填充多值字段.

如果我YES从委托方法返回,则会向用户显示另一个显示联系人详细信息的UI.触摸任何字段都会导致此委托方法调用

- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person 
property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier
Run Code Online (Sandbox Code Playgroud)

并且ABRecordRef填写了所有多值字段.

我找不到有关延迟加载的记录的任何信息,或者存在所需的延迟或权限问题,这会阻止字段被填充.而我用来检查记录的代码是一种方法,所以在第二个实例中找到值的完全相同的代码无法在第一个实例中找到它.

有关可能发生的事情的任何建议,或者如何在不向用户显示第二个UI的情况下检索完整记录?

我正在使用Apple的QuickContacts示例代码.以下是我所做的补充和更改.

+(NSMutableDictionary *)convertABRecordRef:(ABRecordRef)person
{
    // Initialize a mutable dictionary and give it initial values.
    NSMutableDictionary *contactInfoDict = [[NSMutableDictionary alloc] initWithCapacity:12];

    // Use a general Core Foundation object.
    CFTypeRef generalCFObject = ABRecordCopyValue(person, kABPersonFirstNameProperty);

    ABRecordID foundId = ABRecordGetRecordID(person);
    NSNumber *personIDNum = [NSNumber numberWithInteger:foundId];
    [contactInfoDict setObject:personIDNum forKey:@"recordID"];


    // Get the first name.
    if …
Run Code Online (Sandbox Code Playgroud)

abaddressbook ios

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

CNContactStore executeSaveRequest失败(CNErrorDomain错误2)

我正在尝试删除应用程序的URL冗余.如果单个联系人有多个URL,这种方法很有效.但是如果存在链接的联系人,通常保存操作将失败,并显示消息"操作无法完成.(CNErrorDomain error 2.)"

有什么建议如何解决这个问题?它不适用于统一联系吗?如果在单个非统一项目上单独删除URL,是否有办法从统一项目中获取?

以下是代码的摘录:

CNSaveRequest *saveRequest = [[CNSaveRequest alloc] init];

NSArray* keys = @[CNContactUrlAddressesKey];
NSPredicate *predicate = [CNContact predicateForContactsWithIdentifiers:identifiers];
NSError *error;
NSArray <CNContact *> *contacts = [_contactStore unifiedContactsMatchingPredicate:predicate keysToFetch:keys error:&error];

for (CNContact *contact in contacts) {
 // here we'll collect non-ambigous URLs
  NSMutableArray<CNLabeledValue<NSString *> *> *copyOfURLs = [NSMutableArray array];
 // just a marker for the moment if a URL with specific prefix was already found
  NSString *baseURL = nil;
  for (CNLabeledValue<NSString *> *labeledValue in contact.urlAddresses) {
    NSString *url = …
Run Code Online (Sandbox Code Playgroud)

ios cncontact

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