问题列表 - 第32413页

从nstask获取数据 - 与命令行通信 - 目标c

我知道如何将数据发送到任务:

NSData *charlieSendData = [[charlieImputText stringValue] dataUsingEncoding:NSUTF8StringEncoding];
[[[task standardInput] fileHandleForWriting] writeData:charlieSendData];
Run Code Online (Sandbox Code Playgroud)

但是我如何得到任务响应的内容?

以利亚

objective-c nstask nsdata

14
推荐指数
2
解决办法
7642
查看次数

基类应该有属性吗?

在另一个社区,我有人建议你应该"永远"在你的基类中拥有属性.相反,它应该只有纯虚函数,让派生类负责为所有这些方法提供定义.

我的看法是"这不是一个经验法则".我给出了以下简单的例子:

class Shape
{
    protected:
        double Area;
        double Perimeter ;
    public:
        Shape():Area(0.0), Perimeter(0.0){}
        double getArea(){return Area;}
        double getPerimeter (){return Perimeter;}
        virtual void setArea () = 0 ;
        virtual void setPerimeter () = 0 ;
};

class Rectangle : public Shape
{
    private :
        double length ;
        double breadth ;
    public:
        Rectangle ():length(0.0),breadth(0.0){}
        Rectangle (int _length, int _breadth):length(_length),breadth(_breadth){}
        void setArea ()
        {
            Area = length * breadth ;
        }
        void setPerimeter ()
        {
            Perimeter = 2 * (length + breadth) …
Run Code Online (Sandbox Code Playgroud)

c++ oop

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

在迭代时附加到向量?

我有一个迭代的矢量.在迭代时,我可能会向向量添加新值.它看起来像:

struct Foo
{
   bool condition;
};

void AppendToVec(vector<Foo>& v)
{
   ...
   v.push_back(...);
}

vector<Foo> vec;
...
for (vector<Foo>::size_type i = 0; i < vec.size(); ++i)
{
   if (vec[i].condition) AppendToVec(vec);
}
Run Code Online (Sandbox Code Playgroud)

这样工作正常,事实上优雅地处理新附加元素递归需要添加更多元素的情况,但感觉有点脆弱.如果其他人出现并调整循环,它很容易被破坏.例如:

//No longer iterates over newly appended elements
vector<Foo>::size_type size = vec.size();
for (vector<Foo>::size_type i = 0; i < size; ++i)
{
   if (vec[i].condition) AppendToVec(vec);
}
Run Code Online (Sandbox Code Playgroud)

要么

//Vector resize may invalidate iterators
for (vector<Foo>::iterator i = vec.begin(); i != vec.end(); ++i)
{
   if (vec->condition) AppendToVec(vec);
}
Run Code Online (Sandbox Code Playgroud)

有没有最好的做法来处理这样的案件?用循环注释"警告:迭代时这个循环是故意附加到向量.谨慎改变"最好的方法?如果能让事情变得更加强大,我也愿意切换容器.

c++ stl

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

KVO和NSNotifications的性能速度如何?

我是否应该害怕使用键值观察(KVO)和NSNotifications?我开始在我的应用程序中使用它们,但我有点不熟悉可能触发appwide调用或自动执行某些操作的概念,并且有点害怕这种开销可能带来的性能损失.

我的担忧没有根据吗?我应该像其他方法一样使用它们吗?它们看起来非常方便并且填补了很多空白,所以我想尽可能使用它们.注意:我主要是为iOS设备编程,因此性能始终是我关注的问题.

iphone cocoa key-value-observing key-value-coding nsnotifications

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

ASP MVC:为什么我的视图中没有显示我的内部类?

<ul>
    <li><% Html.ActionLink(StringHelper.TryGetLocalString("Something"),
             "Blah", "Blah"); %></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

在我从局部视图中看到它之前,我必须将StringHelper类设置为public.

为什么??

(旁注:解析为本地字符串将在我的控制器中完成而不是在视图(布局)中,但它是一个很好的快速示例).

卢克,谢谢你的帮助

asp.net-mvc

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

如何在asp.net-mvc中的html文本框上设置禁用属性?

我试图在html文本框上动态设置disabled属性并出现问题

我在我的观点中试过这个:

 string disabledString = "";
 if (SomeLogic)
 {
      disabledString = "disabled";
 }

 Html.Textbox()...new Dictionary<string, object> { { "maxlength", 50 }, { "disabled", readOnlyState } })%>
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我将disabled属性设置为""或禁用,但是当我测试时,它似乎在任何一种情况下都被禁用.我错过了什么吗?

html asp.net-mvc textbox

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

《Effective Java》书中的《实现 Builder 接口》

我正在阅读 Joshua Bloch 所著的《Effective Java》。在第 16 页的顶部,他说:

Note that our NutritionFacts.Builder class could be declared to implement
Builder<NutritionFacts>.
Run Code Online (Sandbox Code Playgroud)

但是“Builder”如何实现“Builder”接口,因为那里存在命名空间冲突,例如:

public static class Builder implements Builder<NutritionFacts>...
Run Code Online (Sandbox Code Playgroud)

我应该将内部静态类重命名为 NutritionFacts.NutritionBuilder 还是什么?

这是他提供的构建器模式:

// Builder Pattern
public class NutritionFacts {
 private final int servingSize;
 private final int servings;
 private final int calories;
 private final int fat;
 private final int sodium;
 private final int carbohydrate;

public static class Builder {
    // Required parameters
    private final int servingSize;
    private final int servings;

    // Optional parameters - …
Run Code Online (Sandbox Code Playgroud)

java

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

如何使用Google Docs C#API访问公共电子表格?

我使用Google Docs .NET API编写了一个C#程序,根据用户名,密码,电子表格名称和工作表名称将Google工作表读入DataTable.这一切都运行正常,但编程模型似乎围绕为电子表格服务提供一组凭据,然后削减结果Feed以获取特定的电子表格/工作表,即

        SpreadsheetsService service = new SpreadsheetsService("Application-Name");
        service.setUserCredentials(userName, password);

        SpreadsheetQuery spreadsheetQuery = new SpreadsheetQuery();
        SpreadsheetFeed spreadsheetFeed = service.Query(spreadsheetQuery);

        SpreadsheetEntry spreadsheetEntry = (SpreadsheetEntry)(from entries in spreadsheetFeed.Entries
                                                               where entries.Title.Text == spreadsheetName
                                                               select entries).SingleOrDefault();
Run Code Online (Sandbox Code Playgroud)

现在,我有兴趣扩展我的程序功能,以便从公共Google电子表格中读取.也就是说,考虑到公开Goog​​le电子表格的网址(例如" https://spreadsheets.google.com/ccc?key=BUNCH_OF_LETTERS_HERE&hl=en "),我想获取与该文档相对应的SpreadsheetEntry对象.

到目前为止我一直使用的方法显然似乎没有扩展到允许这个,所以我想知道是否有人知道通过他们的API访问公共Google文档的正确方法?

c# google-docs google-docs-api

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

在C++类中重新声明一个函数

class arbit
    {
        int var;
        public:

        int method1();
        int method1() const;

    };
Run Code Online (Sandbox Code Playgroud)

为什么g ++在这里两次声明相同的函数时不会发出警告?

c++

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

六角形平面的形状和运动表示

表示四角平面(一组正方形)的最基本方法是使用二维阵列.

在C#中,我们将其声明为int[,]并且可以使我们的飞机尽可能大:

string[3,3] => tic-tac-toe board (or similar)
string[8,8] => chess or checkers board
Run Code Online (Sandbox Code Playgroud)

为了"移动"飞机上的物品,我们只需将其移至新的"位置"

//using our tic-tac-toe board:
string[0,0] = "x"; //top-left
string[1,1] = "o"; //middle-middle

//to move
string[0,1] = bN; //Black Knight's starting positon
string[2,2] = bN; //Black Knight moves
string[0,1] = String.Empty;
Run Code Online (Sandbox Code Playgroud)

那么,你将如何表示一个六边形平面(一堆六边形)以及如何处理从一个位置到下一个位置的移动?

注意:这不是纯粹的理论,因为我有一个想法,在我的头脑中需要这种运动的小游戏,但我无法绕过如何做到这一点.我在这里看了一些其他的问题,但真的找不到一个好的比赛......

c# theory algorithm

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