小编Mob*_*Vet的帖子

访问资产目录pathForResource

看起来:

[[NSBundle mainBundle] pathForResource:@"name" ofType:@"png"];

不为Images.xcassets资产目录中的资产返回任何内容.我也尝试过:

[[NSBundle mainBundle] pathForResource:@"name" ofType:@"png" inDirectory:@"Images"];

[[NSBundle mainBundle] pathForResource:@"name" ofType:@"png" inDirectory:@"Images.xcassets"];

但这些都没有.

有没有人成功检索目录中的资产路径?

nsbundle ios7 xcode5

64
推荐指数
3
解决办法
4万
查看次数

为什么NSLayoutAttributeCenterX与NSLayoutAttributeWidth的"无效配对"

我试图让自动布局管理器根据超级视图的宽度调整视图的中心点.我不明白为什么这是属性的"无效配对"(由崩溃和NSInvalidArgumentException告知)

UIView *ac;
NSLayoutConstraint *cXloc = [NSLayoutConstraint constraintWithItem:ac 
                                                         attribute:NSLayoutAttributeCenterX 
                                                         relatedBy:NSLayoutRelationEqual 
                                                            toItem:ac.superview 
                                                         attribute:NSLayoutAttributeWidth 
                                                        multiplier:.1 
                                                          constant:x*ac.superview.frame.size.width*.2];
[ac.superview addConstraint:cXloc];
Run Code Online (Sandbox Code Playgroud)

有人可以解释为什么这是一个'无效的削减'以及我应该如何处理这个问题?谢谢

autolayout ios6 nslayoutconstraint

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

使用非常奇怪的PUT命令,Cloud Code object.save()导致'找不到对象'

问题说明

我有一个简单的Cloud Code命令来创建或更新对象.如果没有传入objectId,则例程创建一个新对象并返回objectId.如果objectId存在于参数列表中,它将获取对象并相应地更新参数.

该例程适用于新对象.

object.save()当我尝试更新的对象,失败,尽管object.fetch()子程序工作.

错误:代码= 101,消息=找不到对象.

详细的服务器日志表明一个非常奇怪的PUT命令......

PUT/parse/classes/Receipt/[object%20Object]

我期望看到的是

PUT/parse/classes/Receipt/GJaXcf7fLD

对象ACL是公共r + w

为什么object.save()不使用有效的objectId?

_

云代码

Parse.Cloud.define("uploadReceipt", function(request,response) {
    var Receipt = Parse.Object.extend("Receipt");
    var receipt = new Receipt();

    // passed in parameters are ['property' : ['type' : t, 'value' : v]]
    var dict = request.params;
    var objectIdDict = dict["objectId"];
    console.log("Object Dict: " + objectIdDict);
    Parse.Promise.as().then(function() {
        // if we already have an objectId we are UPDATING
        // Need to FETCH first …
Run Code Online (Sandbox Code Playgroud)

javascript parse-platform parse-server

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

主页按钮按下会导致SpriteKit SKView中的EXC_BAD_ACCESS代码= 1

当您按下主页按钮时,SpriteKit应该清理并暂停所有计时器.

但是,我们发现如果您在显示活动SKView时单击主页按钮,则应用程序崩溃.即使该视图已被用户暂停,也会发生这种情况.

奇怪的是,如果你双击主页按钮并转到多任务视图,一切正常.

跟进注意:模拟器在两种情况下都能完美运行,不会发生崩溃

有没有人用SpriteKit看到这个问题?

你找到了原因/解决方案吗?

exc-bad-access ios ios7 sprite-kit

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

在App Purchase中没有使用Xcode 5,iOS 7模拟器

似乎模拟器上的In App Purchase再次被打破.我们能够成功提交SKProduct,但我们永远不会得到适当的回调.

来自他人的任何见解都会很棒......

[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
[[SKPaymentQueue defaultQueue] addPayment:skPayment];
Run Code Online (Sandbox Code Playgroud)

观察者代表回调没有回应.

in-app-purchase ios7 xcode5

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

reportAchievementWithCompletionHandler在iOS7中已弃用,但未指定替换

有没有人找到替代品

[GKAchievement reportAchievementWithCompletionHandler]

通常,当事情被弃用时,文档表示替换.到目前为止,对于这个问题并非如此,我想从我们看到的另一个问题的可能原因列表中删除它.

ios game-center ios7

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

如何正确地将子类传递给Swift'inout'方法进行更新?

我想为我的项目创建一个通用的'refreshInBackground'方法,允许更新我的各种PFObject子类.我不能只使用PFObject.refreshInBackground因为我想'包含'几个'键'(指向其他对象的指针)

问题在于,当我将子类作为'inout'参数传递时,我被告知

无法将不可变值作为inout参数传递:从'ParseUser'到'PFObject'的隐式转换需要临时的

1)为什么'currentUser'不可变?那是因为它试图进行隐式转换吗?

我的子类很简单

class ParseUser : PFUser {
    @NSManaged var teams : [ParseTeam]           // Teams that the user is a member of

    ..more stuff..
}
Run Code Online (Sandbox Code Playgroud)

要求更新它

var currentUser : ParseUser?
if currentUser != nil {
    // utilize the local user cache... but refresh the user
    // to get the teams
    self.refreshInBackground(parseObject: &currentUser!, withKeys: ["teams"], withCompletion: nil)
}
Run Code Online (Sandbox Code Playgroud)

最后,通用更新功能:

// fetch and refresh an object in the background, including various pointers to included keys
// this is necessary because …
Run Code Online (Sandbox Code Playgroud)

ios parse-platform swift

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

在animateWithDuration中块完成内的递归调用?

我有一组动画需要按顺序操作,每个步骤都要进行各种检查.因为集合的大小是在运行时确定的,所以我希望使用递归调用...但是我无法让它在"块"范例内运行.

无论我是否使用预先声明的块,结果都是EXEC_BAD_ACCESS

__block void (^myBlock)(BOOL) = ^(BOOL finished){ if (finished) [self nextStep];};
Run Code Online (Sandbox Code Playgroud)

或不,如下面的代码片段所示.在调试时,似乎'self'变量确实有效.

NSEnumerator* stepEnumerator;

-(void) mainRoutine {
    stepEnumerator = [myArray objectEnumerator];
    [self nextStep];
}

-(void) nextStep {
    id obj;
    if ((obj = [stepEnumerator nextObject])) {
        // Do my checking at each location
        ....

        // we have another spot to move to
        [UIView animateWithDuration:animationDuration
                         animations:^{self.frame = newFrame;}
                         completion:^(BOOL finished){ if (finished) [self nextStep];}];
        }
    }
    else {
        // we are done, finish house cleaning
    }
}
Run Code Online (Sandbox Code Playgroud)

任何帮助是极大的赞赏.
谢谢!

iphone animation enumeration uiview objective-c-blocks

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

为什么 #available(iOS 11, *) 在 iOS 12 上解析为 true?

我对语法的理解#available是它指定了 iOS 的主要/次要版本。但是,我注意到受此子句保护的代码将在iOS 12if上执行。

预计会#available解决支票问题>=吗?

无论它是由当前版本的 Xcode(针对 iOS 11)还是针对iOS 的beta 版本编译的,它似乎都是这样做的

xcode ios swift ios11 ios12

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