小编Ant*_*ick的帖子

如何将std :: string转换为NSString?

嗨,我正在尝试将标准std::string转换成一个,NSString但我没有太多运气.

我可以使用以下代码成功地从NSStringa 转换为astd::string

NSString *realm = @"Hollywood";
std::string REALM = [realm cStringUsingEncoding:[NSString defaultCStringEncoding]];
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试以下操作时,我收到编译时错误

NSString *errorMessage = [NSString stringWithCString:REALM encoding:[NSString defaultCStringEncoding]];
Run Code Online (Sandbox Code Playgroud)

我得到的错误是

Cannot convert 'std::string' to 'const char*' in argument passing
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么吗?

提前致谢.

objective-c stdstring objective-c++ nsstring

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

使用NodeGit CloneOptions克隆分支

我试图找出如何将克隆选项传递给nodegit克隆方法.

节点git文档声明克隆方法的第3个参数是克隆选项对象 http://www.nodegit.org/nodegit/#Repo-clone

git.Repo.clone(URL, path, CloneOptions, callback);
Run Code Online (Sandbox Code Playgroud)

但是,此对象不包含在nodegit的标准版本中.

我已将clone_options.cc文件的绑定添加到bindings.gyp文件中,我可以访问克隆选项对象.但是,我无法弄清楚如何使用有效的分支名称实例化它.libgit2 api显示该选项是checkout_branch http://libgit2.github.com/libgit2/#HEAD/type/git_clone_options

任何人都有任何关于如何做到这一点的见解?或者在支持克隆节点中的git分支的替代库中?

var CloneOptions = nodegit.CloneOptions;
var options = new CloneOptions({checkout_branch: branchName});
git.Repo.clone(url, temp, options, function (err, repo) {...});
Run Code Online (Sandbox Code Playgroud)

结果是

Error: git_clone_options is required.
Run Code Online (Sandbox Code Playgroud)

nodegit的github问题页面上还有一个开放的线程

https://github.com/nodegit/nodegit/issues/127

git node.js libgit2

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

轻松地将Key = Value对的字符串解析为Scala案例类

有没有办法轻松地将一串键值对解析成scala案例类?

例如,来自以下字符串

"consumer_key=1234ABC, consumer_secret=12345ABC"
Run Code Online (Sandbox Code Playgroud)

case class Auth(consumerKey: String, consumerSecret: String)
Run Code Online (Sandbox Code Playgroud)

甚至

"consumer_key=1234ABC, consumer_secret=12345ABC"
Run Code Online (Sandbox Code Playgroud)

parsing scala key-value case-class

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

将vec2数组传递给Fragment Shader Opengl es 2.0

我试图将一个vec2数组传递给片段着色器,但我似乎无法弄清楚如何.

在我的应用程序中,我有以下数组.

GLfloat myMatrix[] = { 100.0, 100.0,
    200.0, 200.0 };

glUniformMatrix2fv(matrixLocation, 2, 0, myMatrix);
Run Code Online (Sandbox Code Playgroud)

在我的片段着色器中,我试图像这样访问这些值

uniform vec2 myMatrix[2];

gl_FragColor = gl_FragCoord.xy + myMatrix[0].xy;
Run Code Online (Sandbox Code Playgroud)

然而,fragcolor并没有改变它应该像我硬编码那样

gl_FragColor = gl_FragCoord.xy + vec2( 100.0, 100.0 ).xy;
Run Code Online (Sandbox Code Playgroud)

任何想法我如何将这些vec2值传递到着色器

提前致谢

opengl-es uniform fragment-shader ios

5
推荐指数
0
解决办法
4117
查看次数

PlayFramework 2.0.2路由中的多个参数

我似乎无法获得多个参数,如果我添加一个参数一切都很好,只要我添加第二个参数我总是得到一个

No data received
Unable to load the webpage because the server sent no data.
Here are some suggestions:
Reload this webpage later.
Error 324 (net::ERR_EMPTY_RESPONSE): The server closed the connection without sending any data.
Run Code Online (Sandbox Code Playgroud)

任何人都可以确认您可以使用play 2.0.2为请求添加第二个参数吗?(使用java)

我的网址就像这样简单

http://localhost:9000/account/foruser?username=somethig&create=0
Run Code Online (Sandbox Code Playgroud)

和路线

GET     /account/foruser
controllers.user.UserController.foruser(username:String, create:Boolean ) 
Run Code Online (Sandbox Code Playgroud)

playframework playframework-2.0

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

将BOOL*传递给ALAssetsLibrary

嗨,我需要传递一个BOOL到

ALAssetsLibrary 
- (void)enumerateGroupsWithTypes:(ALAssetsGroupType)types usingBlock:(ALAssetsLibraryGroupsEnumerationResultsBlock)enumerationBlock failureBlock:(ALAssetsLibraryAccessFailureBlock)failureBlock
Run Code Online (Sandbox Code Playgroud)

枚举块它具有以下签名.

^( ALAssetsGroup *group, BOOL *stop )
Run Code Online (Sandbox Code Playgroud)

并且文件说:

Stop ::指向布尔值的指针; 将值设置为YES以停止枚举.

但是,如果我尝试将值设置为

stop = YES
Run Code Online (Sandbox Code Playgroud)

我得到以下警告,枚举继续.

Initialization makes pointer from integer without cast
Run Code Online (Sandbox Code Playgroud)

所以我的问题是如何将布尔值作为指向stop参数的指针传递?

任何帮助将非常感激.

iphone objective-c-blocks

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

比较switch语句中的ALAssetGroupType

嗨,我正在调用ALAssetsLibrary

-enumerateGroupsWithTypes:ALAssetsGroupAll usingBlock:block failureBlock:failure;
Run Code Online (Sandbox Code Playgroud)

然后在枚举块内我想比较返回的组的类型并将其添加到相关的数组.我试过了

^( ALAssetsGroup *group, BOOL *stop )
{
    NSLog(@"Group %@", group );
    ALAssetGroupType assetType = (ALAssetGroupType)[group valueForProperty:ALAssetsGroupPropertyType];
    NSLog( @"Asset type %@", assetType );
    switch( assetType )
    {
        case ALAssetsGroupAplbum :
        NSLog( @"Found ALBUM" );
        [albums addObject:group];
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

初始日志记录出"组ALAssetsGroup - 名称:照片库,类型:专辑,资产数量:177"

下一个日志是"资产类型2"

但第三个日志永远不会被调用.

我有什么想法吗?

iphone switch-statement constant-expression objective-c-blocks

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

如何将 std::string 变量传递到函数中

我有一个 C++ 方法,它接受一个变量,方法签名如下:

DLL returnObject** getObject( const std::string folder = "" );
Run Code Online (Sandbox Code Playgroud)

我尝试传入:

const std::string myString = "something";
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

No matching function call to ... getObject( std::string&);
Run Code Online (Sandbox Code Playgroud)

我这里有几个问题。

  1. 我如何在std::string没有&
  2. 看起来这个值是可选的,folder = ""是吗?如果是这样,如何传递可选参数?

c++ stdstring

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

Objective-c中的动态对象属性

如何在objective-c中的对象上创建动态属性?在ActionScript中我们可以做这样的事情

var obj : Object;
obj[ "myDynamicProperty" ] = true;
trace( obj.myDynamicProperty );
Run Code Online (Sandbox Code Playgroud)

我如何在objective-c中这样做?

我尝试了以下内容

NSObject *obj = [[NSObject alloc] init];
[obj setValue:@"labelValue" forKey:@"label"];
Run Code Online (Sandbox Code Playgroud)

但这只会引发运行时错误.任何帮助将非常感激.提前致谢.

iphone objective-c

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