小编dar*_*inm的帖子

如何在iOS上启用新的Objective-C对象文字?

当我使用Xcode 4.4创建一个新项目并添加以下行时:

NSDictionary *test = @{ @"key" : @"test value" };
NSString *value = test[@"key"];
NSLog(@"value is: %@", value);
Run Code Online (Sandbox Code Playgroud)

它编译时没有警告并按预期执行.

将相同的行添加到现有项目会产生编译器错误:

NSString *value = test[@"key"]; <-- Expected method to read dictionary element not found on object of type 'NSDictionary *'
Run Code Online (Sandbox Code Playgroud)

我比较了两个项目的目标构建设置,但没有任何东西在我身上跳跃.

更新: 成功编译的新项目是针对OSX的.我用上面的代码尝试了另一个新的iOS版本,它无法编译,就像我之前存在的(iOS)项目一样.

xcode objective-c ios

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

JPEG元数据的最大大小是多少?

可以合并到JPEG文件中的元数据量(EXIF等)的理论最大值是多少?我想分配一个缓冲区,确保足以保存任何JPEG图像的元数据,而无需自己解析它.

jpeg exif metadata

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

将Swift CChar数组转换为String

某些C API(例如glGetShaderInfoLog)在缓冲区中返回字符数组.我需要将它们转换为字符串才能使用它们.

var value: GLint = 0
glGetShaderiv(shader, GLenum(GL_INFO_LOG_LENGTH), &value)
var infoLog: GLchar[] = GLchar[](count: Int(value), repeatedValue: 0)
var infoLogLength: GLsizei = 0
glGetShaderInfoLog(shader, value, &infoLogLength, &infoLog)
var s: String = NSString.stringWithUTF8String(infoLog) // Compile Error: Cannot convert the expression's type 'NSString!' to type 'CString'
Run Code Online (Sandbox Code Playgroud)

在这个例子中,GLchar映射到Swift类型的CChar AKA Int8但是在我的生命中,我找不到将用它初始化的String或NSString方法.

c string swift

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

如何在Xcode OS X Swift Playground中使用GLKit?

我正在尝试在Xcode 6 OS X Swift Playground中使用GLKit但是

import GLKit
Run Code Online (Sandbox Code Playgroud)

似乎不足以使Playground识别GLKView.有任何想法吗?

import Cocoa
import GLKit
import OpenGL

let frame = CGRect(x: 0, y: 0, width: 400, height: 300)
class TriangleView: GLKView { // ERROR: Use of undeclared type 'GLKView'
    override func drawRect(dirtyRect: NSRect) {
        glClearColor(0.0, 0.0, 0.1, 1.0)
    }
}
Run Code Online (Sandbox Code Playgroud)

xcode glkit swift swift-playground

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

标签 统计

swift ×2

xcode ×2

c ×1

exif ×1

glkit ×1

ios ×1

jpeg ×1

metadata ×1

objective-c ×1

string ×1

swift-playground ×1