小编bot*_*ptr的帖子

使用NSURL访问本地文件

我试图访问资源目录中的XML文件存储.我正在使用NSURL使用NSURLConnection访问此文件(此文件将来将被替换为远程服务).

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL 
URLWithString:@"file:///XMLTest.xml"] 
cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];

NSURLConnection *connection=[[NSURLConnection alloc] initWithRequest:request delegate:self];
if (connection) {
    // Create the NSMutableData to hold the received data.
    // receivedData is an instance variable declared elsewhere.
    response = [[NSMutableData data] retain];
} else {
    NSLog(@"Could not create connection");
}
Run Code Online (Sandbox Code Playgroud)

启动连接的类实现NSURLConnection方法:

connection:willCacheResponse: 
connection:didReceiveData: 
connectionDidFinishLoading: 
connectionDidFinishLoading:
Run Code Online (Sandbox Code Playgroud)

一旦我启动它,模拟器就会死机,没有消息打印到控制台,所以我不知道在哪里看.任何想法,或者我只是这样做完全错了?

iphone ios

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

MkMapView触摸时放下一个引脚

我正在努力发掘一种基于触摸输入在MkMapView上放置引脚的标准方法.可能没有标准的方法,但总是值得一提.如果我必须自己实现这一点,那么添加手势识别器的最佳方法是在地图视图上点按.

iphone objective-c ios4 ios ios-simulator

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

用GLKit绘图

我正在尝试使用opengl编写游戏,但是我在使用新的glkit类和iOS的默认模板时遇到了很多麻烦.

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];

    if (!self.context) {
        NSLog(@"Failed to create ES context");
    }

    if(!renderer)
        renderer = [RenderManager sharedManager];
    tiles = [[TileSet alloc]init];

    GLKView *view = (GLKView *)self.view;
    view.context = self.context;
    view.drawableDepthFormat = GLKViewDrawableDepthFormat24;

    [self setupGL];
}

- (void)setupGL
{
    int width = [[self view] bounds].size.width;
    int height = [[self view] bounds].size.height;

    [EAGLContext setCurrentContext:self.context];

    self.effect = [[GLKBaseEffect alloc] init];
    self.effect.light0.enabled = GL_TRUE;
    self.effect.light0.diffuseColor = GLKVector4Make(0.4f, 0.4f, 0.4f, 1.0f);

    //Configure Buffers
    glGenFramebuffers(1, &framebuffer);
    glBindFramebuffer(GL_FRAMEBUFFER, framebuffer); …
Run Code Online (Sandbox Code Playgroud)

opengl-es ios ios5 glkit

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

iOS上的着色器差异

我正在学习关于3D编程的学习现代3D图形编程,但我对iOS中的着色器和GLES 2.0没有好运.我正在使用xcode 4 opengl游戏模板,尽管对书中的第一个例子进行了修改.

书中的第一个着色器不会编译出许多不同的错误.第一个顶点着色器

#version 330

layout(location = 0) in vec4 position;
void main()
{
    gl_Position = position;
}
Run Code Online (Sandbox Code Playgroud)

抱怨版本声明并拒绝允许使用布局作为说明符.我终于设法让这个建立.

attribute vec4 position;
void main()
{
    gl_Position = position;
}
Run Code Online (Sandbox Code Playgroud)

同样,第一个片段着色器由于版本而拒绝构建,并且不允许全局段中的输出

#version 330
out vec4 outputColor;
void main()
{
   outputColor = vec4(1.0f, 1.0f, 1.0f, 1.0f);
}
Run Code Online (Sandbox Code Playgroud)

随着错误

ERROR: 0:10: Invalid qualifiers 'out' in global variable context
Run Code Online (Sandbox Code Playgroud)

好的,所以我设法得到第一个例子(一个简单的三角形)来处理以下着色器.

顶点着色器

#version 100
void main()
{
    gl_FragColor = vec4(1.0,1.0,1.0,1.0);
}
Run Code Online (Sandbox Code Playgroud)

片段着色器

attribute vec4 position;
void main()
{
    gl_Position = position; …
Run Code Online (Sandbox Code Playgroud)

opengl-es ios

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

解析字符串中的double

我正在解析我正在处理的iphone应用程序中的字符串中的double.此双精度值是小数gps位置(纬度或经度)的一部分.使用[string doubleValue]或数字格式化器总是会返回nil.

    if([elementName isEqual:@"long"]) {
    NSLog(@"\t got lon %@",[currentString doubleValue]);
}
Run Code Online (Sandbox Code Playgroud)

这总是导致记录为null.

iphone objective-c ios

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

标签 统计

ios ×5

iphone ×3

objective-c ×2

opengl-es ×2

glkit ×1

ios-simulator ×1

ios4 ×1

ios5 ×1