小编wal*_*lky的帖子

如何使用空值重置NSMutableString?

NSMutableString *str = [[NSMutableString alloc] init];
Run Code Online (Sandbox Code Playgroud)

假设str有权知道值"我".

然后单击一个按钮,我希望str的值重置.这是字符串值变为零或空.

现在我正在使用它,[myword stringWithString: @""];但没有工作.

iphone objective-c

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

限制相机间距

当我只有相机四元数时,如何才能有效地限制相机间距?我是否必须转换为欧拉角然后再转换为四元数或者还有其他方法吗?

math 3d camera quaternions

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

在dealloc中使用self.property = nil有什么问题吗?

我知道声明属性生成存取方法,这只是语法糖.

我发现self.property = nil他们的dealloc方法中有很多人使用它.

1)在Apple的内存管理文档中,p23它说:

您不应该使用访问器方法来设置实例变量的唯一地方是init方法和dealloc.

为什么不呢?

2)在Apple的Objective-C 2.0,p74中

声明的属性从根本上取代了访问器方法声明; 在合成属性时,编译器仅创建任何缺少的访问器方法.没有与dealloc 方法直接交互  - 不会自动为您释放属性.但是,声明的属性提供了一种交叉检查dealloc 方法实现的有用  方法:您可以在头文件中查找所有属性声明,并确保未标记的对象属性assign 被释放,并且标记的  对象属性不会  assign 被释放.

注意:通常在dealloc方法中,您应该release直接对象实例变量(而不是调用set访问器并nil作为参数传递),如下例所示:

- (void)dealloc { [property release]; [super dealloc]; }
Run Code Online (Sandbox Code Playgroud)

但是,如果使用现代运行时并合成实例变量,则无法直接访问实例变量,因此必须调用访问器方法:

- (void)dealloc { [self setProperty:nil]; [super dealloc]; }
Run Code Online (Sandbox Code Playgroud)

这个音符是什么意思?

我找到了[property release];并且[self setProperty:nil];都工作了.

null properties objective-c objective-c-runtime dealloc

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

在Objective-C中使用fopen()

由于在这部分代码中出错,我一直遇到崩溃,我很困惑:

                FILE *fid200;
                fid200 = fopen ( "Length200Vector.txt" , "w" );
                if (fid200 == NULL)
                    perror("Error opening Length200Vector.txt");
                for (int n = 0; n<200; n++) {
                    if (n == 0) {
                        fprintf (fid200, "%f", self.avgFeatureVect[0][n]);
                    }
                    else {
                    fprintf (fid200, ", %f", self.avgFeatureVect[0][n]);
                    }
                }
                fprintf (fid200, "\n");
                fclose(fid200);
Run Code Online (Sandbox Code Playgroud)

错误是:打开Length200Vector.txt时出错:不允许操作.

该文件驻留在我的项目的Resources文件夹中,该行正在.mm文件中执行.在.cpp文件中的同一个项目中,我使用的几乎完全相同的代码运行没有问题.似乎无法想出这一个......

谢谢

c++ fopen objective-c stdio ios

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

从Linux'ps'生成CSV列表

假设我有一个如下所示的ps命令:

ps -Ao args:80,time,user --sort time 
Run Code Online (Sandbox Code Playgroud)

它会给我一个"空格"分隔的行集.一行可能看起来像这样

paulnath -bash 00:00:00
Run Code Online (Sandbox Code Playgroud)

我想说服ps用逗号分隔(或者甚至是标签!),这样它就可以被其他语言自动处理.请注意,args中可能包含空格,因此,按字段调整本身不会起作用.

linux csv ps

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

正在搜索Mac OSX系统词典?

我想使用简单的glob或regex而不是已知的文本在OS X系统字典(或字典)中搜索单词.(目前我正在使用/usr/share/dict/words,但OSX dict会更好.)

字典服务界面非常有限,并且不允许这样做,但似乎DSGetTermRangeInString可能会在幕后做类似的事情.有谁知道访问这种功能的方法?

或者,有没有办法从字典中提取单词列表?然后我就可以说了.有些词典似乎在包中包含了源XML,这应该很容易解析,但是(我猜不足为奇)大型语言词典只有一些二进制格式的数据.关于那可能是什么的任何线索?

macos cocoa dictionary

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

R中的CVX-esque凸优化?

我需要解决(很多次,对于大量数据,以及其他一些东西)我认为归结为二阶锥形程序.它可以在CVX中简洁地表达,如下所示:

cvx_begin
    variable X(2000);
    expression MX(2000);
    MX = M * X;
    minimize( norm(A * X - b) + gamma * norm(MX, 1) )
  subject to
    X >= 0
    MX((1:500) * 4 - 3) == MX((1:500) * 4 - 2)
    MX((1:500) * 4 - 1) == MX((1:500) * 4)
cvx_end
Run Code Online (Sandbox Code Playgroud)

显示的数据长度和等式约束模式只是来自某些测试数据的任意值,但一般形式将大致相同,有两个客观术语 - 一个最小化错误,另一个是令人鼓舞的稀疏性 - 以及大量的等式约束关于优化变量的转换版本的元素(本身被约束为非负的).

这看起来效果非常好,比我之前的方法好得多,后者捏造了腐烂的约束.麻烦的是,围绕这一切的所有其他事情都发生在R中,将它移植到Matlab会非常麻烦.所以在R中这样做是否可行,如果是这样的话怎么样?

这真的归结为两个不同的问题:

1)这有什么好的R资源吗?据我所知,从CRAN任务页面可以看出,SOCP包选项是CLSCOPDWD,它包括一个SOCP求解器作为其分类器的附件.两者都有相似但相当不透明的接口,并且在文档和示例上有点薄,这使我们:

2)在这些包使用的约束块格式中表示上述问题的最佳方法是什么?上面的CVX语法隐藏了很多关于额外变量等等的繁琐工作,我可以看到自己花费数周的时间来试图做到这一点,所以任何提示或指针向我推进正确的方向都会非常受欢迎......

optimization r convex-optimization

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

如何自动释放CGColorRef

我有一个方法返回CGColorCreate方法创建的CGColorRef实例.我需要从这个方法自动释放颜色返回.有谁知道如何做到这一点?

//red,green,blue are from 0-255 range

+(CGColorRef) getColorFromRed:(int)red Green:(int)green Blue:(int)blue Alpha:(int)alpha
{
    CGFloat r = (CGFloat) red/255.0;
    CGFloat g = (CGFloat) green/255.0;
    CGFloat b = (CGFloat) blue/255.0;
    CGFloat a = (CGFloat) alpha/255.0;  
    CGFloat components[4] = {r,g,b,a};
    CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
    CGColorRef color = CGColorCreate(colorSpace, components);
    CGColorSpaceRelease(colorSpace);

    //CGColorRelease(color);
    // I need to auto release the color before returning from this.

    return color;
}
Run Code Online (Sandbox Code Playgroud)

iphone objective-c iphone-sdk-3.0

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

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

帮助破译iPhone应用程序代码

有人可以帮我解密一下这段代码吗?它是在用户按下按钮提交数据时执行的,或者在这种情况下,是iPhone应用程序中的"问题".

我知道它正在将字符串发送到我在服务器上托管的phpscript.php,但我不熟悉的是发生的长命令列表.

NSUserDefaults *p = [NSUserDefaults standardUserDefaults];
[p setObject:[NSString stringWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://website.com/phpscript.php?user=%@&pass=%@&cat=%@&sub=%@&body=%@",[[p valueForKey:@"user"] stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding],[[p valueForKey:@"pass"] stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding],sport,@"",[[tvQ.text stringByReplacingOccurrencesOfString:@"\n" withString:@" "] stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]]]] forKey:@"q"];
Run Code Online (Sandbox Code Playgroud)

iphone objective-c

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

如何在MATLAB中提取TRANSFER FUNCTION的符号系数

如何在符号数学MATLAB 中提取系数。

例如,我有这样的传递函数

H(S) = (a*S^2 + b*S^ + a*c*S + d*a) / (S^3 + b*c*S^2 + d*S^1 + a*d)
Run Code Online (Sandbox Code Playgroud)

我想在 H(s) 中获得“S”项的系数作为向量数组

num = [a b a*c d*a]
den = [1 b*c d a*d]
Run Code Online (Sandbox Code Playgroud)

matlab symbolic-math

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

经常使用的符号"|" 在Objective-C中

self.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleWidth;
Run Code Online (Sandbox Code Playgroud)

源代码如上所示.想知道什么符号"|" 代表?非常感谢您的回答并感谢您的回复;)

objective-c

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

NSNumber崩溃程序

HI,

由于格式问题,我在我的iPhone应用程序中将浮动转换为NSNumber.虽然它生成了正确的字符串,但在释放对象后会崩溃程序.

我编写了简单的程序作为Mac OS X的控制台应用程序,同样的问题发生.任何人都可以建议如何解决这个问题?这是代码示例.所有3条消息都写入日志,然后发生EXEC_BAD_ACCESS错误...

#import <Foundation/Foundation.h>

int main (int argc, const char * argv[])
{
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

    NSString *FormattedValueString = [[NSString alloc] init];
    NSString *FormattedValueString1 = [[NSString alloc] init];



    NSNumber *myNumber = [[NSNumber alloc] initWithDouble:100.345];
    NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init]; 
    [numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
    [numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle]; 

    FormattedValueString = [myNumber stringValue];
    FormattedValueString1 = [numberFormatter stringFromNumber:myNumber];

    NSLog(FormattedValueString);
    NSLog(FormattedValueString1);

    [FormattedValueString release];
    [FormattedValueString1 release];
    [numberFormatter release];
    [myNumber release];

    NSLog(@"Everything OK");

    [pool drain];
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

iphone macos objective-c

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