小编Ari*_*lka的帖子

如何在Xcode 4中"添加现有框架"?

我找不到好的旧"添加现有框架"选项.我该怎么做呢?

我们谈论的是Xcode 4 DP2(在iPhone开发的背景下,尽管它很重要......).

xcode frameworks xcode4

1426
推荐指数
8
解决办法
32万
查看次数

如何在iOS上完全精确地打印双精度?

测试用例:

NSLog(@"%f", M_PI);
NSLog(@"%@", [NSString stringWithFormat:@"%f", M_PI]);
NSLog(@"%@", [NSNumber numberWithDouble:M_PI]);
Run Code Online (Sandbox Code Playgroud)

结果:

3.141593
3.141593
3.141592653589793

结论:

1)通过NSLog()或[NSString stringWithFormat]打印提供的精度非常低......

2)通过[NSNumber numberWithDouble]打印提供更好的精度......

我原本希望得到一个更接近原始值的结果:3.14159265358979323846264338327950288(在math.h中定义)

有线索吗?

iphone precision double cocoa-touch nslog

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

如何在UITableViewController中混合"Custom Section Header View(s)"和"Regular Header(s)"?

想象一下有多个部分的表("StyleGrouped"):

  • 有些部分应该有"常规标题".
  • "常规部分"之间应该有一些按钮.

直觉上,为了定义章节标题,我会使用:

(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
Run Code Online (Sandbox Code Playgroud)

为了模拟按钮,我将通过以下方式创建自定义UIViews:

(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
Run Code Online (Sandbox Code Playgroud)

问题是,当你开始使用时viewForHeaderInSection,然后titleForHeaderInSection停止工作......

因为我们现在应该提供自定义标题视图,所以它在某种程度上是有道理的.唯一的问题是没有办法访问UIKit使用的原始UIView来呈现"常规标题"...

不是世界末日(即创建自己的UILabel并模拟UIKit的外观和感觉),但我只是想知道我是否遗漏了某些东西(?)

iphone uitableview uikit

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

如何重置以使用一些CGContext函数来标识"当前转换矩阵"?

我正在CTM上进行一系列翻译和旋转,在某些时候我需要将其重置为身份,然后再进行转换.

我找不到任何适当的方式做到这一点(当然,也应该有一个名为CGContextSetCTM左右功能),因为效率是关键,我不想使用CGContextSaveGState/CGContextRestoreGState ...

cocoa-touch core-graphics matrix

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

验证 Android 应用链接失败并出现错误 1024

我有一个带有 applicationId 的 Android 应用程序com.unibeam.passkey1

https://unibeam.github.io/.well-known/assetlinks.json,我存储了以下文件:

[{
  "relation": ["delegate_permission/common.get_login_creds"],
  "target": {
    "namespace": "web",
    "site": "https://unibeam.github.io"
  }
 },
 {
  "relation": ["delegate_permission/common.get_login_creds"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.unibeam.passkey1",
    "sha256_cert_fingerprints": [
      "55:E2:84:F9:9B:59:82:02:FA:2B:87:B9:90:77:8F:8D:62:3F:32:CC:76:92:47:0C:A8:73:7C:AE:11:8D:B6:0C",
      "0E:67:51:BF:E4:C4:01:7F:CB:7D:4C:1E:02:7E:DF:8D:40:25:9A:5C:20:2A:AB:96:71:15:F1:46:40:09:58:3D"
    ]
  }
 }]
Run Code Online (Sandbox Code Playgroud)

2 个指纹对应应用程序的调试版本和发布版本。

并且检查https://digitalassetlinks.googleapis.com/v1/statements:list?source.web.site=https://unibeam.github.io&relation=delegate_permission/common.get_login_creds返回没有错误。

现在在应用程序的内部manifest.xml,我有以下内容:

<intent-filter android:autoVerify="true">
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="http" />
    <data android:scheme="https" />
    <data android:host="unibeam.github.io" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)

问题是运行时adb shell pm get-app-links --user cur com.unibeam.passkey1失败,如下:

  com.unibeam.passkey1:
    ID: 24defbad-89a3-46d4-8446-335dfcdcd0a9
    Signatures: [0E:67:51:BF:E4:C4:01:7F:CB:7D:4C:1E:02:7E:DF:8D:40:25:9A:5C:20:2A:AB:96:71:15:F1:46:40:09:58:3D] …
Run Code Online (Sandbox Code Playgroud)

java android

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

iPhone上"unsigned int"和"int"之间的性能有何不同?

或者重新提出问题:使用无符号值是否存在性能损失?

一般来说:IPhone ARM处理器上最高性能(16位签名?,32位签名?等)是什么?

iphone performance objective-c

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

三维网格的隐藏线移除算法?

给定一个任意的3D网格,我正在寻找一种能够实时执行隐藏线删除的算法.我在OpenGL环境中工作,这意味着我们可以利用Z-Buffer.

我想该算法应包括以下两个问题的解决方案:

1)定义哪些是"硬边",以便稍后使用常规OpenGL线绘制它们.这些"硬边缘"应该对应于两个相应面之间的角度高于某个阈值的边缘.

为简单起见,让我们声明保证每条边定义的面数不超过2个.

"硬边"的计算应该每个网格进行一次,即它与视点无关.

2)根据当前视点定义网格轮廓的轮廓.最终,这部分可以使用经典的OpenGL技术(涉及多边形偏移或模板缓冲)来完成,但最好使用常规的OpenGL线绘制轮廓,以保持所有线条的统一外观.

对于那部分,我不确定轮廓的顶点是否应该都通过网格顶点.在任何情况下,对于像立方体这样的网格,其中不需要轮廓(因为它足以仅绘制"硬边缘")_算法应该足够智能以避免两次绘制"相似的线". .

opengl graphics geometry

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

如何释放C结构?

给定一个结构,例如

typedef struct
{
  int value;
} TestStruct;
Run Code Online (Sandbox Code Playgroud)

为什么以下代码(在IPhone上运行的Objective-C类的上下文中)抛出"未对齐的指针被释放"异常?

TestStruct ts = {33};
free(&ts);
Run Code Online (Sandbox Code Playgroud)

NB我的超级目标是使用具有许多向量数学函数的C库,因此需要找到一些可行的方法来混合C和Objective-C

c malloc struct objective-c

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

UIApplication的“windows”值上的KVO?

以下不起作用:

[[UIApplication sharedApplication] addObserver:self forKeyPath:@"windows"
   options:(NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld)
   context:NULL];
Run Code Online (Sandbox Code Playgroud)

除此之外,在观察者方面:

- (void) observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
  NSLog(@"never reached!");
}
Run Code Online (Sandbox Code Playgroud)

有什么线索吗?

注意我的超级目标是在显示(系统生成的) UIAlertView 时收到通知。

iphone uikit

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

在Objective-C中初始化为类变量时,在哪种内存上分配C结构

考虑以下:

typedef struct
{
  float m00, m01, m02, m03;
  float m10, m11, m12, m13;
  float m20, m21, m22, m23;
  float m30, m31, m32, m33;
} Matrix;

@interface TestClass : NSObject
{
  Matrix matrix;
}

- (TestClass *) init;
@end
Run Code Online (Sandbox Code Playgroud)
@implementation TestClass
- (TestClass *) init
{
  self = [super init];
  matrix = (Matrix) {1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f};
  return self;
}
@end
Run Code Online (Sandbox Code Playgroud)

如果"矩阵"变量不再相关(或者整个对象被释放时),如何确保正确释放分配给struct的64个字节?

c iphone struct objective-c

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

如何使用Cocoa Touch解析带浮点数(生成Java)的二进制文件?

给出以下用于生成二进制文件的Java代码:

DataOutputStream out = new DataOutputStream(new FileOutputStream("foo.dat"));
out.writeInt(1234);
out.writeShort(30000);
out.writeFloat(256.384f);
Run Code Online (Sandbox Code Playgroud)

我正在使用以下Objective-C代码并设法解析int和short值:

NSString *path = [[NSBundle mainBundle] pathForResource:@"foo" ofType:@"dat"];
NSFileHandle *file = [NSFileHandle fileHandleForReadingAtPath:path];

unsigned long intValue;
memcpy(&intValue, [[file readDataOfLength:4] bytes], 4);
intValue = NSSwapBigLongToHost(intValue);

unsigned short shortValue;
memcpy(&shortValue, [[file readDataOfLength:2] bytes], 2);
shortValue = NSSwapBigShortToHost(shortValue);
Run Code Online (Sandbox Code Playgroud)

我现在的问题是浮点值:关于如何解析它的任何线索?

java parsing cocoa-touch

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

当在类实例化时未定义维时,如何在Objective-C中将float数组声明为类变量?

在Java中,它看起来像这样:

class Foo
{
  float[] array;
}

Foo instance = new Foo();
instance.array = new float[10];
Run Code Online (Sandbox Code Playgroud)

iphone objective-c

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

在Objective-C中使用指针数组的最佳方法是什么?

我正在尝试模仿以下Java代码:

int[][] multi; // DIMENSIONS ARE UNKNOWN AT CREATION TIME
// LATER ON...
multi = new int[10][];
multi[5] = new int[20];
multi[5][11] = 66;
// LATER ON...
multi = null; // PROPER WAY OF FREEING EVERYTHING
Run Code Online (Sandbox Code Playgroud)

我推出了以下Objective-C版本:

int* *multi;
//
multi = malloc(10 * sizeof(int*));
multi[5] = (int *) malloc(20 * sizeof(int));
multi[5][11] = 66;
//
free(multi[5]);
free(multi);
Run Code Online (Sandbox Code Playgroud)

首先,我想知道这是否是最佳方式.而且主要是:我找不到以某种"自动"方式释放内存的方法,即以下代码导致iPhone上的运行时异常:

for (int i = 0; i < 10; i++)
{
    if (multi[i] != NULL) free(multi[i]);
}
Run Code Online (Sandbox Code Playgroud)

iphone syntax objective-c

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