小编cem*_*ate的帖子

没有Interface Builder的Cocoa,初始化app控制器的实例?

打算在没有IB的情况下编写应用程序,我只是在尝试学习有关编程的更多信息.

如何在启动时获取AppController类的单个实例?(它通常是从笔尖加载的.)你可以清理使用+initialize-init吗?如果我理解,+initialize在启动时会调用所有类.我如何使用它来创建我的AppController的实例,其中包含构成我的界面的实例变量?

希望有意义,并感谢任何帮助.

xcode cocoa objective-c interface-builder

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

数学函数的表现?

我正在使用图形加速度计数据,我正在尝试纠正重力.为此,我得到球面坐标中的加速度矢量,将半径减小1g,然后转换回笛卡尔坐标.每0.03秒在一个计时器上调用此方法:

//poll accleration
ThreeAxisAcceleration current = self.accelerationData;

//math to correct for gravity:
float radius = sqrt(pow(current.x, 2) + pow(current.y, 2) + pow(current.z, 2));
float theta = atan2(current.y, current.x);
float phi = acos(current.z/radius);

//NSLog(@"SPHERICAL--- RADIUS: %.2f -- THETA: %.2f -- PHI: %.2f", radius, theta, phi);

radius = radius - 1.0;

float newX = radius * cos(theta) * sin(phi);
float newY = radius * sin(theta) * sin(phi);
float newZ = radius * cos(phi);

current = (ThreeAxisAcceleration){newX, newY, newZ};

//end math
NSValue *arrayVal …
Run Code Online (Sandbox Code Playgroud)

c math performance cocoa

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

奇怪的mingw链接器错误与提升?

我已经在这方面做了一段时间了,似乎无法理解这种情况 - 部分因为我不完全理解发生了什么(这就是我来到这里的原因).

我正在做一个提升你好世界如下:

#include <boost/thread/thread.hpp>
#include <cstdio>


void helloworld() {
    std::printf("HELLO FROM A BOOST THREAD!");
}

int main(int argc, char **argv) {
    boost::thread t(&helloworld);
    t.join();
}
Run Code Online (Sandbox Code Playgroud)

这是在Windows上.我将Boost目录存储在C:\ Boost中.我运行bootstrap和bjam,现在有一个包含所有.lib文件的stage/lib文件夹.与boost/thread库相关的lib文件是:

libboost_thread-vc100-mt.lib
libboost_thread-vc100-mt-1_46_1.lib
libboost_thread-vc100-mt-gd.lib
libboost_thread-vc100-mt-gd-1_46_1.lib
Run Code Online (Sandbox Code Playgroud)

现在我编译:

g++ -c main.cpp -I/Boost
Run Code Online (Sandbox Code Playgroud)

那行很好,我得到main.o. 然后:

g++ -o test.exe main.o -L/Boost/stage/lib -llibboost_thread-vc100-mt
Run Code Online (Sandbox Code Playgroud)

这就是麻烦发生的地方.首先,如果我没有像我那样输入-l参数,MinGW甚至找不到该文件.意思是,如果我尝试:

-lboost_thread-vc100-mt
Run Code Online (Sandbox Code Playgroud)

而不是我在上面键入它的方式(以及我认为应该如何完成),ld将退出没有这样的文件.无论如何,这是我从那条线得到的输出:

main.o:main.cpp:(.text+0x47): undefined reference to `_imp___ZN5boost6thread4joinEv'
main.o:main.cpp:(.text+0x55): undefined reference to `_imp___ZN5boost6threadD1Ev'
main.o:main.cpp:(.text+0x70): undefined reference to `_imp___ZN5boost6threadD1Ev'
main.o:main.cpp:(.text$_ZN5boost6threadC1IPFvvEEET_NS_10disable_ifINS_14is_convertibleIRS4_NS_6detail13thread_move_tIS4_EEEEPNS0_5dummyEE4typeE[boost::thread::thread<void (*)()>(void (*)(), boost::disable_if<boost::is_convertible<void (*&)(), boost::detail::thread_move_t<void (*)()> >, boost::thread::dummy*>::type)]+0x23): undefined reference to `_imp___ZN5boost6thread12start_threadEv'
collect2: ld returned …
Run Code Online (Sandbox Code Playgroud)

c++ linker boost mingw g++

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

框架链接错误,图片未找到?

我在我的应用程序中使用DarwiinRemote的WiiRemote.framework.

我已经通过下载源代码并要求垃圾收集以及构建10.5来修复了一些问题.但是,当我尝试将其添加到我的项目时,我收到控制台错误:

dyld: Library not loaded: @executable_path/../Frameworks/WiiRemote.framework/Versions/A/WiiRemote
Referenced from: /Users/chasemeadors/Documents/Apps in development/Animation/build/Debug/Animation.app/Contents/MacOS/Animation
Reason: image not found
Run Code Online (Sandbox Code Playgroud)

我在互联网上做了一些搜索,但它们都是特定于框架的,对我来说并没有多大意义.所以我希望这里有人能给出一个简短,甜蜜,可以理解的答案吗?

下载框架的链接:( 注意我的更改,即未进行垃圾收集) http://sourceforge.net/project/downloading.php?group_id=183966&use_mirror=softlayer&filename=WiiRemoteFramework0.5-src.tar.gz&a=58980345

macos xcode linker frameworks objective-c

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

了解android对话框布局

我正在为我的Android应用程序制作一个简单的自定义对话框,只显示一个搜索栏.然而,这项简单任务的复杂性让我疯狂.

我对话框​​的布局如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp">

<SeekBar xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/dialogVolumeSlider"
    android:layout_width="225dp"
    android:layout_height="wrap_content"/>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

该对话框在代码中创建:

Dialog d = new Dialog(this);
d.setContentView(R.layout.custom_dialog);
return d;
Run Code Online (Sandbox Code Playgroud)

我没有一个包装搜索栏的简单盒子,而是从某个地方得到了这个幻影空间:

问题截图

这是什么问题?我试过修改

d.getWindow().getAttributes().height
Run Code Online (Sandbox Code Playgroud)

但这也会产生其他问题.

谢谢你的帮助!!

编辑:当我为LinearLayout的layout_height分配一个固定的"50dp"时,发生了奇怪的事情: 第二个问题

xml layout android dialog

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

C练习的实际例子?

我知道几种编程语言,包括Objective-C,Java,C#和python,以及C.但是,我需要提高我在C中的效率.

在大多数恰好是高级,基于对象和面向GUI的语言中,我创建了一些标准的面向对象的示例来指导我使用语言/框架.我通常创建一个"汽车"示例,我在其中模拟汽车并允许用户调整速度,观察里程增加.

但是,有些东西告诉我这个例子在unix命令行设置中转移到C是不实际的.在基于unix命令行的C设置中"测试自己"有哪些好的基本想法?

感谢您的任何意见!

编辑:谢谢你的答案.我对汽车示例的基本关注是,我不应该在这种环境中尝试面向对象,而是做一些更适合语言的事情.感谢Duck提出重建命令行实用程序的建议.

c unix

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

在python中重新创建类似shell的解释器?

在我坐下来开始讨价还价之前,我以为我会来这里看看你们是否有任何提示,或者即使之前已经完成了这样的事情.

我想在python程序中重新创建类似语法的基本shell.换句话说,当人们使用python运行文件时,他们会收到一些提示

>> 
Run Code Online (Sandbox Code Playgroud)

对于简单的事情,使用选项解析器来说

opt.parse_args(input.split(" "))
Run Code Online (Sandbox Code Playgroud)

工作得很好,但现在我不仅想要使用'\'字符来转义特殊字符,例如空格,还要将引用的字符串视为单个参数,就像在unix shell中一样.

是否存在可能对此有帮助的任何内容?

谢谢你的任何建议! - 追逐

python string shell parsing special-characters

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

从boost :: ptr_vector获取指针而不是引用

我最近发现boost ptr_vector对管理堆分配对象的集合很有用.指针集合库非常好,但不幸的是,我被一件事所困扰.

我的代码的另一部分需要显式保存指向ptr_vector中我的一个对象的指针(由于特定原因它不能作为引用).但是,当您访问ptr_vector中的对象时,您会得到一个引用T&(即使您使用了ptr_vector.push_back(T*)

无论如何我可以从boost :: ptr_vector中获得一个普通指针吗?

c++ boost pointers ptr-vector

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

使用大数目Eratosthenes算法的Java Sieve时出现奇怪的数值误差?

我遇到了最奇怪的问题,并且一直在调试它.我以为我会在这里发布以获得任何意见.

public static void sieve(int limit) {

    for (int i = 2; i < limit; i ++) {

        if (mPrimes[i] == true) {

            for (int j = i*i; ((j < limit) && (j > 0)); j += i) {
                mPrimes[j] = false;
            }

        }

    }

}
Run Code Online (Sandbox Code Playgroud)

(假设mPrimes最初都是真的)

这是一个问题:

当我运行此程序的限制为10,100,1000,10000甚至100000时,它会报告计算给定数字下正确的素数数量,与此页面交叉引用:http://primes.utm.edu /howmany.shtml

但是,当我使用1000000(一百万)的参数运行时,我得到的结果与正确的值完全相差7(它报告78491而不是78498).

此外,我在本程序中实现的所有其他计数方法都报告了正确的值.

这是真正的问题:如果我更换

i*i
Run Code Online (Sandbox Code Playgroud)

i+i
Run Code Online (Sandbox Code Playgroud)

至于从种子价值直接开始"划掉",而不是从广场开始(这是我教授在他的示例代码中所做的),它起作用.

这让我只能假设当我非常大的时候广场上发生了一些奇怪的事情.

有什么建议?

java memory algorithm numerical-methods

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

大多数pythonic方式表示一个变量,它只通过两个'命名'值切换

我有一个非常复杂的迭代,每次循环,我都需要一个"参数"来影响循环中完成的工作.基本上,我一直在做以下事情:

CLOSE_SIDE = 0
FAR_SIDE = 1

....

while (...):
    if (side == CLOSE_SIDE):
        ....
    else if (side == FAR_SIDE):
        ....

    ....

    side = FAR_SIDE if (side == CLOSE_SIDE) else CLOSE_SIDE
Run Code Online (Sandbox Code Playgroud)

我意识到我可以使用布尔值,但我觉得这降低了我正在做的事情的可读性和显而易见性.我希望这两个州被"命名".这项任务虽然紧凑,但感觉非常笨重.做一整个if语句:

if side == CLOSE_SIDE:
    side = FAR_SIDE
else if side == FAR_SIDE:
    side = CLOSE_SIDE
Run Code Online (Sandbox Code Playgroud)

感觉同样笨重.

解决这个问题的最佳方法是什么?它更像是一种风格问题而不是任何东西.想得到社区的一些意见

python coding-style readability

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

我可以改进这个AngularJS/AJAX javascript片段吗?

我有以下一般代码.

MyClass.prototype.doSomething = function () {

    $.ajax({
        url: turl,
        dataType: 'jsonp',
        success: function (_this) { //closure
            return function (data) {
                _this._angular_scope.$apply(function () {

                    _this.property = // extract stuff from 'data'
                    _this.analyzeContent() // do more stuff with it
                })
            }
        }(this)
    })
}
Run Code Online (Sandbox Code Playgroud)

基本上,这只是一个普通的AJAX调用.有个...

(1)关闭"this",以便成功函数可以访问我的对象及其状态

(2)在里面,我返回一个对数据执行某些操作的函数,但是......

(3)我想要的一切,成功确实被AngularJS被捕获,所以这个功能解析数据,进一步,在$应用调用它包装的行为.

这有效,但我不禁想知道是否有更好的方法来实现这一目标.由于嵌套函数的数量,我每次看到它时都要考虑我正在做什么,这是正确的.

这没关系,还是有更好的推荐风格?

javascript ajax design-patterns coding-style angularjs

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

Python调用shell脚本 - 没有目录?

在python脚本中,我调用bash脚本如下:

subprocess.Popen(["./scan.sh", dir])
Run Code Online (Sandbox Code Playgroud)

在那个剧本里面,有,

find $1 -name "*013*.txt" > found_files.txt
Run Code Online (Sandbox Code Playgroud)

出于某种原因,python中的dir参数被转换为bash脚本中带引号的版本.在python中打印'dir'会产生用户输入的确切路径:

~/Desktop/Files
Run Code Online (Sandbox Code Playgroud)

但是,找不到了

find: '~/Desktop/Files' no such directory
Run Code Online (Sandbox Code Playgroud)

使用〜/ Desktop/Files手动运行scan.sh可以正常工作.为什么要引用它?...?

python bash subprocess find

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