小编Mic*_*old的帖子

[NSKeyedUnarchiver initForReadingWithData:]:数据为NULL

我保存到NSUserDefaults的设置中有一个非强制性对象,没有合理的默认值.在用户为此对象设置值之前,当我从NSUserDefaults取消归档时,应用程序会生成错误"[NSKeyedUnarchiver initForReadingWithData:]:data为NULL".我忽略了错误,否则应用程序工作正常.

有没有最好的做法来避免这种情况,这是一个担心吗?

objective-c nsuserdefaults ios

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

NSFetchRequest无法找到实体名称的NSEntityDescription

我已经尝试过提出类似问题的解决方案,但没有运气.获取请求无法找到实体名称"GarmentType".

这是我的数据模型: 在此输入图像描述

此助手类别中的executeFetchRequest会引发错误:

//
//  GarmentType+Create.m
//  Dressy
//
//  Created by Michael Mangold on 9/4/13.
//  Copyright (c) 2013 Michael Mangold. All rights reserved.
//

#import "GarmentType+Create.h"

@implementation GarmentType (Create)

// Creates or fetches a Core Data GarmentType entity.
+ (GarmentType *)garmentTypeWithName:(NSString *)name inManagedObjectContext:(NSManagedObjectContext *)context
{
    NSLog(@"name:%@ context:%@",name,context);
    GarmentType *garmentType = nil;

    // Build fetch request.
    NSFetchRequest *request          = [NSFetchRequest fetchRequestWithEntityName:@"GarmentType"];
    request.sortDescriptors          = @[[NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES]];
    request.predicate                = [NSPredicate predicateWithFormat:@"name = %@",name];

    // Execute fetch requesst.
    NSError *error  = …
Run Code Online (Sandbox Code Playgroud)

iphone core-data objective-c ios

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

交换时淡出UIBarButtonItem

当我改变我的UIBarButtonItems时,它们会突然改变,不像默认情况下会提供一个漂亮而快速的淡入淡出动画.在视图控制器之间进行切换时,您可以看到这一点,例如,后退按钮将淡入淡出.我该如何模拟相同的效果?

iphone objective-c uibarbuttonitem ipad ios

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

UIBezierPath - 动画填充

我有一个逐步建立的UIBezierPath(圆圈):

[circlePath addArcWithCenter:clockCenter radius:radius startAngle:angleRadians endAngle:1.5*M_PI clockwise:YES];
...
[circlePath closePath];
[COLOR_CIRCLE setFill];
[circlePath fill];
Run Code Online (Sandbox Code Playgroud)

偶尔,我想为填充设置动画,这样它需要一秒钟才能完全填充,并在构建时遵循路径(顺时针).完成此任务的首选方法是什么?现在我正在考虑核心动画,但我希望有一个填充:withDelay或一些我没有偶然发现的东西.TIA.

core-animation objective-c uiview ios

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

跨设备正确处理 NSUbiquityKeyValueStore 更新?

我的应用程序使用 NSUbiquityKeyValueStore(对象数组)在 iCloud 中存储单个键值对。当对数组中的任何对象进行更改时,整个数组都会保存到 iCloud。只要每个设备都有机会在本地进行更改之前下载最新更新,这种方法就非常有效。否则,在其他设备的最新更新被拉下来之前,本地更改可能会被推送到 iCloud,并且这些更新会在所有设备上丢失。这是我的应用程序的缺点还是 iCloud 的缺点,我该如何防止这种情况发生?

objective-c ios icloud nsubiquitouskeyvaluestore

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

变量和函数在Swift中自行调用行

我正在阅读iBook Swift编程语言,并且看到了一个我不理解的约定,并且没有在书中解释过:变量和函数后跟一行变量或函数名称.

例如:

var n = 2
while n < 100 {
    n = n * 2
}
n

var m = 2
do {
    m = m * 2
} while m < 100
m
Run Code Online (Sandbox Code Playgroud)

和:

func returnFifteen() -> Int {
    var y = 10
    func add() {
        y += 5
    }
    add()
    return y
}
returnFifteen()
Run Code Online (Sandbox Code Playgroud)

变量或函数名称在一行上的这些行的目的是什么?

TIA

swift

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

CAGradientLayer类型 - 有什么意义?

根据iOS CAGradientLayer文档,type属性只有一个有效值kCAGradientLayerAxial,它也恰好是默认值.这个属性的目的对我来说是一个谜,因为我想要实现径向CAGradientLayer而不覆盖drawLayer:inContext,并且希望找到类似于kCAGradientLayerRadial的东西.任何照明都赞赏.

cocoa core-graphics objective-c ios cagradientlayer

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

使用CABasicAnimation动画CAShapeLayer的strokeColor

我一直不成功,在一个动画闪烁的行程CAShapeLayer使用的答案从这个以前的线程,许多搜索后,我可以找到使用动画行程没有其他例子CABasicAnimation.

我想要做的是让我的CAShapeLayer脉冲在两种颜色之间.使用CABasicAnimation不透明效果很好,但是[CABasicAnimation animationWithKeyPath:@"strokeColor"]我不知道,我很欣赏有关如何成功实施的任何建议.

    CABasicAnimation *strokeAnim = [CABasicAnimation animationWithKeyPath:@"strokeColor"];
    strokeAnim.fromValue         = (id) [UIColor blackColor].CGColor;
    strokeAnim.toValue           = (id) [UIColor purpleColor].CGColor;
    strokeAnim.duration          = 1.0;
    strokeAnim.repeatCount       = 0.0;
    strokeAnim.autoreverses      = NO;
    [shapeLayer addAnimation:strokeAnim forKey:@"animateStrokeColor"];

//    CABasicAnimation *opacityAnimation = [CABasicAnimation animationWithKeyPath:@"opacity"];
//    opacityAnimation.fromValue         = [NSNumber numberWithFloat:0.0];
//    opacityAnimation.toValue           = [NSNumber numberWithFloat:1.0];
//    opacityAnimation.duration          = 1.0;
//    opacityAnimation.repeatCount       = 0.0;
//    opacityAnimation.autoreverses      = NO;
//    [shapeLayer addAnimation:opacityAnimation forKey:@"animateOpacity"];
Run Code Online (Sandbox Code Playgroud)

取消注释不透明度动画会导致预期的不透明度淡化.笔画动画不起作用.隐式strokeColor按预期更改动画,但我想记录确认strokeColor可以使用CABasicAnimation显式动画.

更新:具体问题是shapeLayer.path为NULL.纠正修复问题.

core-animation objective-c cashapelayer ios

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

应用程序崩溃但没有TestFlight崩溃报告

我有一个用户(带有iPhone 5)报告我的应用程序在屏幕变黑(闪屏为黑色)后大约15秒内在启动时崩溃.用户下载了TestFlight构建,其中我在App委托中包含了检查点,但是我没有得到证据证明这些检查点已经过了,我从未收到过崩溃报告.

我将故事板上的入口点更改为空白视图控制器,现在我可以看到检查点正在交叉.我发现Watchdog暂停了应用程序,因为故事板资源需要很长时间才能加载,但所有图像都是根据需要实时构建的,除了四个小的标签栏图标.有几个音频文件,但它们是按需加载的.我想不出任何可能造成延误的其他资源.没有人报告过这个问题,我很难过.

有任何见解,特别是我没有看到来自TestFlight的崩溃报告或检查点的原因.

iphone objective-c ios

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

在UICollectionView下面插入子视图

当我在UICollectionView下面添加子视图时,有时子视图显示在UICollectionView单元格上方.这是子视图插入代码:

[self.collectionView insertSubview:self.garmentView atIndex:0];
Run Code Online (Sandbox Code Playgroud)

不确定我是否没有遵循最佳做法或以其他方式遗漏明显的东西.任何协助赞赏.

**编辑**值得注意的是,这只发生在横向,当最右边的单元格放大时.

objective-c subview ios uicollectionview

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

在NSMutableArray中存储NSNumber

我在model.h中有以下声明:

@interface Model: NSObject {
NSMutableArray *myMutableArray;
....
}
@property (nonatomic) double myDouble;
Run Code Online (Sandbox Code Playgroud)

model.m中相应的@synthesize:

@synthesize myDouble;
Run Code Online (Sandbox Code Playgroud)

然后我有以下setter覆盖:

-(void) setMyDouble: (double) newDouble{
myDouble = newDouble;
[myMutableArray addObject:[NSNumber numberWithDouble:myDouble]];
}
Run Code Online (Sandbox Code Playgroud)

在数组赋值后设置一个断点,调试器为myMutableArray显示以下内容:

myMutableArray =(_ NSArrayM*)0x631c450 1个对象

0 =(NSCFNumber*)0x631c6a0

所以,我的双子似乎没有正确进入阵列.我随后为NSStrings的数组赋值,在调试器中显示正常.myDouble和newDouble的值都很好(通常只是一个整数).

我已经阅读了几个关于为NSMutableArrays分配双精度的线程,并没有发现任何异常的东西.任何指导将不胜感激.

更新

看起来代码是正确的,但我不明白调试器显示的是NSNumber的地址而不是它的值.谢谢大家的回复,非常感谢!:)

iphone debugging xcode objective-c ios

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