小编The*_*ant的帖子

无法调用'saveInBackgroundWithBlock'

我已经在GitHub,parse.com和其他地方检查了很多次语法,没有任何运气.问题是当我为PFObject调用saveInBackgroundWithBlock时,我收到以下错误:

无法使用类型'((Bool,NSError) - > Void)的参数列表调用'saveInBackgroundWithBlock'

我正在使用Xcode 6.3 beta 2.所有框架都加载到项目中(包括Bolts&Parse,但不是由parse.com ParseCrashReporting和ParseUI提供),<Parse/Parse.h>甚至<Bolts/Bolts.h>是通过Bridge Header引入的.

var score = PFObject(className: "score")
    score.setObject("Rob", forKey: "name")
    score.setObject(95, forKey: "scoreNumber")
    score.saveInBackgroundWithBlock {
        (success: Bool!, error: NSError) -> Void in
        if success == true {
            println("Score created with ID: \(score.objectId)")
        } else {
            println(error)
        }
    }
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

ios parse-platform swift

7
推荐指数
2
解决办法
4399
查看次数

如何在ios编程中使用Keychain

我正在使用Apple提供的Keychain包装类.在我的应用程序中,我想存储和检索登录用户的用户名和密码.当应用程序再次启动时,它应该检查钥匙串中的登录凭据并让用户进入应用程序(自动登录).尝试了一些示例代码.一切都没有成功.请帮我解决这个问题.

谢谢.

iphone objective-c keychain ios

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

四舍五入到 2 的幂(使用预处理器常量)

使用unsigned ints 可以像这样四舍五入到 2 的幂:

unsigned int power_of_2_max_u(unsigned int x)
{
    x -= 1;
    x = x | (x >> 1);
    x = x | (x >> 2);
    x = x | (x >> 4);
    x = x | (x >> 8);
    x = x | (x >>16);
    return x + 1;
}
Run Code Online (Sandbox Code Playgroud)

或者…

int is_power_of_2_i(int n)
{
    return (n & (n - 1)) == 0;
}

int power_of_2_max_i(int n)
{
    if (is_power_of_2_i(n))
        return n;

    do {
        n …
Run Code Online (Sandbox Code Playgroud)

c macros

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

iOS图片上的线条测量

我需要一些帮助才能开始绘制带圆圈的线条并测量其长度.我能够画线,但不能让它移动,花了几个小时决定发布SO.

所以请看下面的图片并指导我开始.任何使用目标c的示例或教程都会有所帮助.

在此输入图像描述

谢谢 :)

objective-c ios

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

哈希表:打开寻址和删除元素

我试图理解哈希表中的开放寻址,但有一个问题在我的文献中没有得到解答.它涉及如果使用二次探测则删除这种哈希表中的元素.然后将被移除的元素替换为哨兵元素.然后get()操作知道它必须更进一步,add()方法将覆盖它找到的第一个sentinel.但是,如果我想添加一个元素,该元素具有已经在哈希表中但在探测路径中的哨兵后面的键,会发生什么?add()方法将覆盖sentinel,而不是使用表中已有的相同键覆盖实例的值.然后我们在哈希表中有多个具有相同键的元素.我认为这是一个问题,因为它花费了内存,并且因为从哈希表中删除元素只会删除它们中的第一个,因此仍然可以在表中找到该元素(即它不被删除).

因此,在替换sentinel元素之前,似乎有必要在整个探测路径中搜索要插入的元素的键.我忽略了什么吗?这个问题在实践中是如何处理的?

hashtable

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

GC和onTouch在使用ffmpeg到ndk的应用程序中导致致命信号11(SIGSEGV)错误

在使用FFmpeg和NDK时,我遇到了一个令人讨厌但众所周知的错误:

A/libc(9845): Fatal signal 11 (SIGSEGV), code 1, fault addr 0xa0a9f000 in tid 9921 (AsyncTask #4)
Run Code Online (Sandbox Code Playgroud)

UPDATE

几个小时后,我发现可能有两个问题来源.一个与多线程有关.我查了一下,然后修好了.现在,只有在视频播放(ndk)打开时,应用程序才会崩溃.

我在触摸事件中放了一个"计数器"

  surfaceSterowanieKamera.setOnTouchListener(new View.OnTouchListener() {
            int counter = 0;
            @Override
            public boolean onTouch(View v, MotionEvent event) {             
                if ((event.getAction() == MotionEvent.ACTION_MOVE)){
                    Log.i(TAG, "counter = " + counter);
                    //cameraMover.setPanTilt(some parameters);
                    counter++;
                 }
Run Code Online (Sandbox Code Playgroud)

我开始逐个禁用其他应用功能,但没有视频.我发现,每减少一个功能,压缩需要更长的时间 - 计数器达到更高的值.在关闭视频播放和触摸界面(cameraMover.setPanTilt()注释掉)之外的所有内容后,应用程序通常在计数器介于1600 - 1700之间时会崩溃.

在这种情况下,logcat显示上述错误和GC相关信息.对我而言,似乎GC正在搞乱ndk.

01-23 12:27:13.163: I/Display Activity(20633): n = 1649
01-23 12:27:13.178: I/art(20633): Background sticky concurrent mark sweep GC freed 158376(6MB) AllocSpace objects, 1(3MB) LOS objects, 17% …
Run Code Online (Sandbox Code Playgroud)

android ffmpeg segmentation-fault android-ndk ontouchlistener

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

如何在笔尖上更改NSSplitView的分隔符的颜色?

我想在我的Cocoa应用程序中更改NSSplitView's 的颜色dividerColor,但是当我输入以下代码时,Cannot assign to the result of this expression发生了错误.

splitView.dividerColor = NSColor.redColor()
Run Code Online (Sandbox Code Playgroud)

我认为这是因为它.dividerColor是一个只读属性,因此如果从nib实例化它,就不能覆盖代码中的颜色.

但是,我找不到任何这样的首选项来改变Xcode的Inspector上的颜色NSSplitView.那么我怎样才能改变分频器的颜色呢?

请注意,我不使用NSSplitViewController; 我用NSSplitView在上面NSViewController.

在此输入图像描述

cocoa nssplitview swift

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

专门用于私有成员类的std :: hash

我有一个类(称之为Outer),它有一个私有成员类(Inner).我想存储Outer::Inner无序标准容器的实例,所以我想专门化std::hash<Outer::Inner>.

但是,写这篇文章的时候:

namespace std {
    template<>
    struct hash<Outer::Inner> {
        std::size_t operator()(const Outer::Inner &arg) const
        {
            return std::hash<int>()(arg.someSpecialProperty);
        }
    };
}
Run Code Online (Sandbox Code Playgroud)

编译器抱怨:

error: 'Inner' is a private member of 'Outer'
            std::size_t operator()(const Outer::Inner &p) const
                                                ^
Run Code Online (Sandbox Code Playgroud)

我试图std::hash按照这个答案建立一个朋友结构,但这也不起作用:Outer::Inner失败的前向声明:

error: use of undeclared identifier 'Outer'
Run Code Online (Sandbox Code Playgroud)

那我该怎么办(如果我打算做的话可能的话)?

c++ hash unordered-set c++11 stdhash

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

如何从UICollectionViewCell呈现AlertView

我在标题中使用带有Map的UICollectionView.

我想处理核心位置错误.我有3种错误类型,其中两种我想呈现一种UIAlertView.

但我收到一个错误,因为UICollectionViewCell没有一个成员叫presentViewController.

func locationUnknown() {
    var alert = UIAlertController(title: "Location Unknown", message: "Please try again later.", preferredStyle: UIAlertControllerStyle.Alert)

    let alertAction = UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: { (action: UIAlertAction!) -> Void in

    })
    alert.addAction(alertAction)
    self.presentViewController(alert, animated:true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)

如何将其发送UIAlertViewUICollectionView屏幕?

uialertview ios uicollectionviewcell

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

在Objective-C中声明全局变量的正确方法是什么

所以,我想知道在iOS项目中声明全局变量的正确方法是什么.我不希望它设置为属性,因为不应该从类外部访问该变量.

我将提供一些我见过的方法,让我知道哪种方法是正确的,如果有另一种方式更好.

这样我@interface在实现文件中声明之后在花括号内添加全局变量.m.然后我可以初始化变量viewDidLoad

#import "ViewController.h"

@interface ViewController () {
    int globalVariableTest;
}
@end

@implementation ViewController
Run Code Online (Sandbox Code Playgroud)

另一种方法@implementation是在实现文件中声明后在花括号内添加全局变量.m.再次初始化viewDidLoad

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController {
       int globalVariableTest;
}
Run Code Online (Sandbox Code Playgroud)

另一种方法是在@implementation没有花括号后添加变量,这也允许我设置初始值而不使用viewDidLoad

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

int globalVariableTest = 1;
Run Code Online (Sandbox Code Playgroud)

另一种方法是@interface在头文件内部添加变量.h

@interface ViewController : UIViewController
{
    int globalVariableTest;
}
Run Code Online (Sandbox Code Playgroud)

所以,如果有更好的方式请告诉我,所有的帮助将不胜感激!

objective-c

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