我正在尝试NSFetchedResultsController使用我的tableview,但尽管我尽最大努力使其正确设置,但它始终不返回任何行.我通过Finder打开了我的数据存储,并通过SQLite编辑器验证了实际上有很多记录,但它总是返回零.我错过了什么?
控制器的自定义吸气器:
- (NSFetchedResultsController *)fetchedResultsController {
if (fetchedResultsController_ != nil) {
return fetchedResultsController_;
}
RBGameItemController* itemController = [RBGameItemController sharedInstance];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"GameItem" inManagedObjectContext:itemController.managedObjectContext];
[fetchRequest setEntity:entity];
NSSortDescriptor *sort = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:NO];
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:sort]];
[fetchRequest setFetchBatchSize:20];
NSFetchedResultsController *theFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest
managedObjectContext:itemController.managedObjectContext
sectionNameKeyPath:nil
cacheName:@"Root"];
self.fetchedResultsController = theFetchedResultsController;
self.fetchedResultsController.delegate = self;
[sort release];
[fetchRequest release];
[theFetchedResultsController release];
return self.fetchedResultsController;
}
Run Code Online (Sandbox Code Playgroud)
我正在获取数据viewDidLoad:
- (void)viewDidLoad {
[super viewDidLoad];
NSError …Run Code Online (Sandbox Code Playgroud) 我喜欢干净地将公共和域对象(因此,nHibernate在这里没有帮助)彼此分开,这最终迫使我编写大量代码来将一个对象映射到另一个对象.什么工具/插件可以让人们在.NET中手动执行这种映射?m每当我谷歌这个,它认为我想要做ORM,这不是我想要的.谢谢!
编辑19:33CST:好的,我写了一个非常基本的应用程序(非常快速编写代码),演示了我正在寻找的东西.我只是想知道是否有一个VS插件可以为我做这个.
我试图将JQuery注入一个UIWebView我无法控制的页面,例如谷歌.当a UITextField获得焦点时,我正在执行以下代码行:
NSString* scriptInject = @"var headElement = document.getElementsByTagName('head')[0]; var script = document.createElement('script');
script.setAttribute('src','http://jquery.com/src/jquery-latest.js');
script.setAttribute('type','text/javascript'); headElement.appendChild(script);";
[myWebView stringByEvaluatingJavaScriptFromString:scriptInject];
[myWebView stringByEvaluatingJavaScriptFromString:@"$(document).ready(function() {$('body').css('background', '#FF0000');}"];
Run Code Online (Sandbox Code Playgroud)
我正在执行后台更改以验证我能够运行JQuery脚本.我可以验证是否正在调用Objective-C方法,我甚alert至为新创建的<script>标记的onload 种植了一个,所以我知道它正在被执行UIWebView.如何正确注入我可以执行它?
编辑:
在调用函数更改颜色后,我有事件尝试了这个:
[myWebView stringByEvaluatingJavaScriptFromString:@"alert($('body').css());"];
Run Code Online (Sandbox Code Playgroud)
没有警报显示.
我有一个用例,UIWebView可能需要连接使用NTLM保护的Web服务器.我还有一个用例,我已经有了要传递的凭据.因此,如何强制用户输入它们,如何与UIWebView?进行握手?
更新:
使用此方法在执行简单的GET请求时效果很好,但在执行POST时完全失败,因为事实上它在发布后正在执行GET.
ASIHttpRequest和ASIWebPageRequest也有同样的问题.GET请求工作奇迹,但任何POST都不起作用.如果只有世界只处理GET请求.
我已经能够使用这种方法在HTTP请求字符串中包含用户名和密码,但这是非常不安全的,以至于无法使用它.使用嗅探器,我能够看到三次握手在GET和POST请求中都没有任何问题.
我需要在减速时点击并拖动屏幕上的UIView.我已经非常好地编写了用于移动具有触摸的视图的代码,但是需要对象以一定程度的惯性(一旦满足某个加速度阈值)继续移动,减速直到它停止,或者满足屏幕的边界.这不适用于游戏,而是使用一些标准的UIView控件.我正在努力解决的最大问题是加速度.
你写的任何好的算法都可以实现同样的目标吗?
编辑:
我在touchesEnded:方法上使用动画块,但是在一个人放开手指和动画开始之间有一个明显的延迟:
[UIView transitionWithView:self
duration:UI_USER_INTERFACE_IDIOM() ==
UIUserInterfaceIdiomPhone ? 0.33f : 0.33f * 2.0f
options:UIViewAnimationCurveEaseOut
animations:^(void){
if (dir == 1) // Flicked left
{
self.center = CGPointMake(self.frame.size.width * 0.5f,
self.center.y);
}
else { // Flicked right
self.center = CGPointMake(
self.superview.bounds.size.width -
(self.frame.size.width * 0.5f), self.center.y);
}
}
completion:^(BOOL finished){
// Do nothing
}];
Run Code Online (Sandbox Code Playgroud) 我正在使用Objective-C中的块,并且没有真正找到一个很好的解释为什么一个块,如果你要将它分配给一个实例变量,必须分配,copy而不是assign?
例如:
typedef void (^MyBlock)();
@interface SomeClass : NSObject
{
MyBlock myblock;
// Other ivars
}
@property (nonatomic, copy) MyBlock myblock; // Why must this be 'copy'???
// other declarations
@end
Run Code Online (Sandbox Code Playgroud) functional-programming memory-management objective-c objective-c-blocks
我遇到了使用UIBarButtonItem自定义颜色的问题."网络上的所有内容似乎表明,缺乏官方API支持的唯一方法是围绕图像的使用.在为iOS 4之前的设备开发时,这一切都很好,但是在使用新的iPhone 4时除外.为iPad和iOS 4之前的设备创建图像非常简单,但为这些设备开发的图像在iPhone上看起来非常可怕我怀疑随着下一代设备的引入,这个问题会进一步恶化.
考虑下面的例子.请注意默认彩色按钮是如何漂亮和流畅的,但iPhone 3GS图像看起来很糟糕.对于不同分辨率的设备,必须包含多个图像,似乎不太可扩展(双关语).

在缺少用于更改a颜色的官方API的情况下,有UIBarButtonItem哪些策略可用于创建可针对不同分辨率设备进行良好扩展的图像?这个问题对于UIBarButtonItems来说并不是唯一的,社区如何适应其他位图的UI元素?对于这种特殊情况,是否有比使用图像更好的解决方案(例如使用Quartz绘制它)?
如果可能的话,请提供具体的代码示例.
整个iPhone开发场景都很新鲜.我只是练习,试图创建一个基本的计算器,我可以添加简单的数字,但我想支持小数位.
到目前为止,我的代码是:
- (IBAction) calculate
{
double number1 = ([textField.text doubleValue]);
double answer = number1+([textField2.text doubleValue]);
label.text = [[NSString alloc] initWithFormat:@"%2.f", answer];
}
- (IBAction) clear
{
textField.text = @"";
textField2.text = @"";
label.text = @"";
}
Run Code Online (Sandbox Code Playgroud)
任何帮助非常感谢.
我想SKAction在每次重复时运行重复但随机的值.我在这里读到了这个问题,显示了一种方法.但是,我希望我的精灵动作能够动画,而不是简单地改变它的位置.我提出的一个解决方案是运行一系列操作,最后一个动作以递归方式调用我的move方法:
- (void)moveTheBomber {
__weak typeof(self) weakSelf = self;
float randomX = // determine new "randomX" position
SKAction *moveAction = [SKAction moveToX:randomX duration:0.25f];
SKAction *waitAction = [SKAction waitForDuration:0.15 withRange:0.4];
SKAction *completionAction = [SKAction customActionWithDuration:0 actionBlock:^(SKNode *node, CGFloat elapsedTime) {
[weakSelf moveTheBomber];
}];
SKAction *sequence = [SKAction sequence:@[moveAction, waitAction, completionAction]];
[self.bomber runAction:sequence];
}
Run Code Online (Sandbox Code Playgroud)
递归调用这个方法对我来说感觉'icky',但鉴于我对SpriteKit的经验有限,似乎是最明显的实现方法.
如何在屏幕上永久动画精灵的随机移动?
如何从Objective C iPhone应用程序调用.net Web服务?
iphone ×6
objective-c ×6
ios ×2
.net ×1
c# ×1
calculator ×1
core-data ×1
graphics ×1
ios4 ×1
ntlm ×1
oop ×1
sprite-kit ×1
touch ×1
web-services ×1