小编Mic*_*son的帖子

NSDate的字符串描述

我有以下代码:

[ [NSDate date] descriptionWithLocale: @"yyyy-MM-dd" ]
Run Code Online (Sandbox Code Playgroud)

我希望它以下列格式返回日期:"2009-04-23"

但它返回:2009年4月23日星期四下午11:27:03 GMT + 03:00

我究竟做错了什么?

先感谢您.

cocoa objective-c nsdate

19
推荐指数
3
解决办法
5万
查看次数

iCloud +在iPhone Documents文件夹中存储媒体

我和许多开发人员一样,最近收到了Apple发来的一封电子邮件,声称我们应该将文档目录中的数据移到另一个文件夹中,以便更加简化备份到iCloud.

在最近的测试中,似乎[您的应用]在其Documents文件夹中存储了大量数据.

由于每天通过Wi-Fi为每个用户的iOS设备执行iCloud备份,因此通过最小化应用程序存储的数据量来确保最佳用户体验非常重要.

instapaper成名的Marco Arment对这个问题有很好的理解,即存储可下载文件的推荐位置在/ Library/Caches中.但问题是,只要操作系统确定设备的存储空间不足,就可以"清除"/ tmp和/ Caches.如果您的应用已清除,则您的应用下载并由您的用户存储的数据将会消失.当然,用户会责怪你而不是苹果.

该怎么办?

iphone ios icloud

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

没有可用于tableView的数据时显示自定义标签

有问题的应用程序可以让用户将项目标记为收藏.当用户没有保存的收藏夹时,我想通知他们这个事实(大多数我讨厌空白tableView的想法).

numberOfRowsInSection当没有用户标记为收藏的项目时,我为零.我想设置cell.textLabel.text = @"你没有收藏夹"但是当没有项目cellForRowAtIndexPath没有被调用时.

我可以测试numberOfRowsInSection在遇到0时给出结果然后测试1行cellForRowAtIndexPath然后插入自定义文本但是如果他们只有一个喜欢的话会怎样?

UPDATE

我尝试实现上面的想法,并在下面推荐,但也许我做得不对,可能是因为它是一个fetchedResultsController,其中委托方法在发生更改时更新表.

当表中只有一个单元格删除单元格时,我收到此错误:

*** Assertion failure in -[UITableView _endCellAnimationsWithContext:], /SourceCache/UIKit_Sim/UIKit-1447.6.4/UITableView.m:976 Serious application error. An exception was caught from the delegate of NSFetchedResultsController during a call to -controllerDidChangeContent:. Invalid update: invalid number of rows in section 0. The number of rows contained in an existing section after the update (1) must be equal to the number of rows contained in that section before the update (1), plus or minus …

iphone objective-c uitableview tableviewcell

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

iPhone应用程序被拒绝"转移过多的数据"

我们可爱的应用程序,从我们的服务器下载MP3到手机上的本地文件然后从该文件播放被拒绝使用太多的带宽.

我理解拒绝(我们正在下载而不是流媒体)并且不会对他们的决定嗤之以鼻......我们的首要任务是用户体验的质量.

我只是想知道......我现在该怎么办?

没有严格的规则......苹果公司只是说,"苹果的合理判断绝不能过度使用或过度负担网络容量或带宽".

有人知道Apple认为合理的数据传输率吗?

我应该用短喷射填充缓冲区文件吗?应该以恒定速率传输文件(我如何限制应用程序内的传输速率?)

欢迎任何和所有建议.

谢谢

iphone

7
推荐指数
3
解决办法
2872
查看次数

适用于iPhone应用的演练/工具提示/演示

我有一个吸引老年人群的应用程序.界面很简单但有一些自定义控件,其中简单的图形不是完全自我解释的(保存到播放列表,例如按类型排序).

我看过很多应用程序都有很棒的首次演练(这里有例子),但不知道是否有一些现有的库.

欢迎您的建议.

iphone tooltip demo walkthrough ios

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

iPhone应用程序可以使用的最大磁盘空间

我在这里搜索并发现断言"没有一个应用程序可能占用超过2GB的硬盘空间."

不要质疑该声明,这似乎是一个合理的政策,但任何人都可以在Apple Docs中提供该政策的参考.我非常感激.

iphone

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

循环遍历数组并从Core-Data获取数据

我有一个包含200个数字(项目ID)的数组,我希望使用其项目ID从每个项目的核心数据中获取一些数据.我假设唯一的方法是在每次迭代中执行fetchRequest的循环中查询核心数据,并将结果添加到可变数组中.这似乎是一个内存耗尽,循环超过200项可能不是获取我需要的数据的最佳方式.

所有这些数据的目的地都是一个表,所以我想使用NSFetchedResultsController,但这可能要求太多.

当您有几百个要查询的项目时,从核心数据中检索数据的最佳方法是什么?

说明性的代码示例将是最受欢迎的.

这是我的代码:

- (NSFetchedResultsController *)fetchedResultsController {

if (_fetchedResultsController != nil) {
    return _fetchedResultsController;
}

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription 
                               entityForName:@"Shows" inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];

NSSortDescriptor *sort = [[NSSortDescriptor alloc] initWithKey:@"downloadCount" ascending:NO];

[fetchRequest setSortDescriptors:[NSArray arrayWithObject:sort]];

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"showId IN %@", resultsArray];
[fetchRequest setPredicate:predicate];

[fetchRequest setFetchBatchSize:20];

NSFetchedResultsController *theFetchedResultsController = 
[[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest 
                                    managedObjectContext:managedObjectContext 
                                      sectionNameKeyPath:nil 
                                               cacheName:nil];

self.fetchedResultsController = theFetchedResultsController;
_fetchedResultsController.delegate = self;

[sort release];
[fetchRequest release];
[theFetchedResultsController release];

return _fetchedResultsController;    

}
Run Code Online (Sandbox Code Playgroud)

iphone core-data ios

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

stringByReplacingCharactersInRange不替换它的追加!

我花了5个小时尝试找到一个方法..我试图为iPhone做一个刽子手应用程序,下面的方法是当玩家选择一个角色并且它与所选单词匹配时应该调用的方法.

-(void)replaceTheHiddenTextWithNewText:(NSString*)character{
NSString *fullTextField = fullText.text;
int textCount = [hiddenText.text length];

NSString *theRiddle;
for (int i = textCount-1 ; i>=0; i--) {

    NSString *hiddenTextField = [[NSMutableString alloc] initWithString:hiddenText.text];
    NSString *aChar=[fullTextField substringWithRange:NSMakeRange(i/3,1)];

    if ([aChar isEqualToString:@" "]) {

        theRiddle= [hiddenTextField stringByReplacingCharactersInRange:NSMakeRange(i, 1) withString:@" "];
    }else if ([aChar isEqualToString:character]) {
        theRiddle =[hiddenTextField stringByReplacingCharactersInRange:NSMakeRange(i, 1) withString:aChar];

      }else{
        theRiddle = [hiddenTextField stringByReplacingCharactersInRange:NSMakeRange(i, 1) withString:@"_"];


    }
    hiddenTextField = theRiddle;    
}
hiddenText.text=theRiddle;
Run Code Online (Sandbox Code Playgroud)

}

问题是stringByReplacingCharactersInRange不替换字符,它将它附加到下划线我在这里做错了什么?

最诚挚的问候,M Hegab

iphone objective-c nsstring

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