小编nat*_*ate的帖子

在iOS 7上打破tableView.contentInset

在UITableView上设置contentInset似乎不适用于iOS 7:

self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 100, 0); 
// Works on iOS 6, nothing happens on iOS 7
Run Code Online (Sandbox Code Playgroud)

我试着设置self.automaticallyAdjustsScrollViewInsetsNO在viewDidLoad中,仍然一无所获.

我究竟做错了什么?有没有新的方法来做到这一点或解决方法?

iphone objective-c uitableview ios ios7

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

NSTextView,绑定并显示NSString

我和Cocoa合作的第二天.我已经设置了NSTextView,其属性字符串绑定到NSArrayController(我正在使用Core Data):

controller key: selection
model key path: myString
Run Code Online (Sandbox Code Playgroud)

我已经读过NSTextView需要一个NSAttributedString,这就是为什么它在尝试设置属性的值时抛出异常.

NSInvalidArgumentException', reason: 'Unacceptable type of value for attribute: property = "myString"; desired type = NSString; given type = NSConcreteAttributedString; 
Run Code Online (Sandbox Code Playgroud)

任何想法如何让我的managedObject的NSString属性显示在NSTextView中?

macos xcode cocoa objective-c

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

iCloud使用户可以"窃取"应用内耗材

在我的应用程序中,用户购买存储在Core Data中的消耗品,比如手提箱.当用户首次安装应用程序时,我会给他们一个免费的入门.如果没有至少一个行李箱设置,该应用程序将无法运行.

但是,如果用户在他们的iPhone上安装应用程序,然后安装他们的iPad并同步这两个,他们现在有2个手提箱.如果他们在任一设备上卸载应用程序,然后重新安装并同步它们,他们只是获得了额外的一个,他们可以无限期地执行此操作.

我可以看到两个解决方案,但它们似乎都没有:

  1. 当用户首次与iCloud同步时,向NSUbiquityKeyValueStore添加值.首次启动时检查此值.如果它是零,则创建免费赠品,如果不是,则同步数据.但这会产生问题.如果用户在首次启动时禁用iCloud或没有互联网连接,该怎么办?该应用程序将创建免费赠品,然后当iCloud可用时,同步副本,他们可以根据自己的喜好多次执行此操作.

  2. 以某种方式匹配每个应用程序上的默认项目.我有想法匹配objectIDs或时间戳,但这些会有所不同,我不知道如何处理它.

有谁知道我能做些什么吗?

编辑:

使用预先打包的数据库加上migratePersistentStore:toURL:options:withType:error:似乎是要走的路.如果它适用于我,将用代码发布答案.

iphone objective-c in-app-purchase icloud

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

如何在RoR中上传文本文件并将内容解析到数据库中

到目前为止,我已设法上传文件:

# In new.html.erb
<%= file_field_tag 'upload[file]' %>
Run Code Online (Sandbox Code Playgroud)

并访问控制器中的文件

# In controller#create
@text = params[:upload][:file]
Run Code Online (Sandbox Code Playgroud)

但是,这只给出了文件名,而不是文件的内容.我如何访问其内容?

我知道这是一个跳转,但是一旦我可以访问文件的内容,是否可以上传文件夹并遍历文件?

ruby ruby-on-rails

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

检查NSString崩溃的子串

我试过用两种方式检查NSString中子串的出现,两者都崩溃了.这是我从NSManagedObject的一个属性获取的NSString对象.

  1. 使用NSRange

    NSString *searchString = @"drive";

    NSRange range = [text rangeOfString:searchString options:(NSCaseInsensitiveSearch)];

    if (range.location != NSNotFound) { NSLog(@"Found"); }

    NSScanner *scanner = [NSScanner scannerWithString:text];

    NSLog(@"%d",[scanner scanString:searchString intoString:nil]);

    NSString *searchString = @"drive";

  2. 使用NSScanner

    NSRange range = [text rangeOfString:searchString options:(NSCaseInsensitiveSearch)];

    if (range.location != NSNotFound) { NSLog(@"Found"); }

    NSScanner *scanner = [NSScanner scannerWithString:text];

    NSLog(@"%d",[scanner scanString:searchString intoString:nil]);

    NSString *searchString = @"drive";

当text = @"drive"时,这两个都有效,但当文本为"i drive"或"drive to"时,导致EXC_BAD_ACCESS崩溃.如果文本是"idrive"或"driveto",则没有任何反应.

甚至更奇怪,有时示例抛出NSInvalidArgumentExceptions,说我试图将NSCFSet或DateComponents对象传递给rangeOfString:,我在我的应用程序中都没有使用它们.

有任何想法吗?

iphone xcode objective-c ios5

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

动态更新 UITextView autocapitalizationType

我有一个带有 UITextView 的空白测试应用程序,并且添加了此委托方法:

func textViewDidChange(textView: UITextView) {
    if textView.text.hasPrefix("Cap") {
        textView.autocapitalizationType = .AllCharacters
    } else {
        textView.autocapitalizationType = .Sentences
    }
}
Run Code Online (Sandbox Code Playgroud)

如果用户在文本开头键入“Cap”,我希望 textView 更改为 .AllCharacters autocapitalizationType。如果他们删除该前缀,它应该变回句子。

该代码被调用但不被执行,并且键盘不会改变以反映这一点。知道如何推动 textView 来更新大写字母吗?

cocoa-touch uitextview ios swift

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

如何计算Swift中String中的单词数?

假设我有一个字符串,如何确定其中的字数?我正在尝试创建一个扩展名:

extension String {
    var numberOfWords: Int {
        // Insert string-counting code here
    }
}
Run Code Online (Sandbox Code Playgroud)

swift

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

创建一个文件数组,按照iphone上的objc中的修改日期排序

这个网站的巨大粉丝,但这是我的第一篇文章!

我在目录中有一个文件名数组,我想对它们进行排序.有数百篇关于排序的帖子,但我找不到任何关于按修改日期排序的内容.

到目前为止,这是我的代码.它成功创建了一个文件数组,这些文件可以输入到我的tableview中.我只需要按修改日期对其进行排序,而不是按字母顺序排序:

//Create dictionary with attributes I care about and a fileList array

        NSMutableArray *fileList  = [[NSMutableArray alloc] initWithCapacity:10];
        NSDictionary *fileData = [NSDictionary dictionaryWithObjectsAndKeys:file, @"file", dateString, @"date", nil];

        [fileList addObject:fileData];

//I don't know how to sort this array by the "date" key!

        NSArray         *files = [fm contentsOfDirectoryAtPath:folderPath error:NULL];
    //iterate through files array
        for (NSString *file in files) {
            NSString *path = [folderPath stringByAppendingPathComponent:file];
    //code to create custom object with contents of file as properties
    //feed object to fileList, which …
Run Code Online (Sandbox Code Playgroud)

iphone xcode objective-c

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