小编Jon*_*ing的帖子

用`id`键入方法

在Objective-C中,我通常会看到返回动态类型对象的方法,其定义如下:

- (id)someMethod:(id)someParameter;
Run Code Online (Sandbox Code Playgroud)

我知道我也可以做到这一点:

- someMethod:someParameter;
Run Code Online (Sandbox Code Playgroud)

有趣的是,我在更多核心级别的基础课程中看到了后一种惯例,但其他人似乎都使用了第一种.由于Objective-C运行时会推断出无类型的方法或参数将返回id,为什么要包含它?它不打破阅读的流程吗?

我不仅想知道开发人员在考虑使用这个约定时可能出现的问题,还想知道你们是否认为这很简单?

conventions objective-c

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

如果声明问题

我想要一个if语句,条件是"当一个浮动ivar在两个数字之间"时会发生一些事情.

我怎样才能做到这一点?

if-statement objective-c

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

消息传递的Objective C语法

我正在尝试以下任务:

我知道我们可以通过使用按钮点击calla方法:

[button addTarget:self action:@selector(performModalActionForButton)
forControlEvents:UIControlEventTouchUpInside];
Run Code Online (Sandbox Code Playgroud)

方法如下:

(void) performModalActionForButton:(NSString *)str
{

}
Run Code Online (Sandbox Code Playgroud)

我想在按钮单击上发送一个字符串到一个方法.我怎样才能做到这一点?

谢谢

iphone objective-c

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

朋友运营商<<重载问题,

我遇到了我的operator<<重载问题,无论我做什么都无法访问它所属类的私有变量,因为它会说变量作为编译器错误是私有的.这是我目前的代码:

#include "library.h"
#include "Book.h"

using namespace cs52;

Library::Library(){
   myNumberOfBooksSeenSoFar=0;
}
//skipping most of the functions here for space

Library operator << ( ostream &out, const Library & l ){
   int i=myNumberOfBooksSeenSoFar;
   while(i<=0)
   {
      cout<< "Book ";
      cout<<i;
      cout<< "in library is:";
      cout<< l.myBooks[i].getTitle();
      cout<< ", ";
      cout<< l.myBooks[i].getAuthor();
   }


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

而函数原型和私有变量library.h都是

#ifndef LIBRARY_H
#define LIBRARY_H
#define BookNotFound 1
#include "Book.h"
#include <iostream>
#include <cstdlib>

using namespace std;

namespace cs52{

   class Library{
   public:
      Library(); …
Run Code Online (Sandbox Code Playgroud)

c++ private class operator-overloading friend

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

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

在矢量中放置一个类对象?

我注意到我可以在一个向量中放置一个Class; 这是我的程序,我收到以下错误:

/out:blackjack.exe
blackjack.obj
blackjack.obj : error LNK2019: unresolved external symbol "private: static class
 std::vector<class Card,class std::allocator<class Card> > Card::Cards" (?Cards@
Card@@0V?$vector@VCard@@V?$allocator@VCard@@@std@@@std@@A) referenced in functio
n "public: static void __cdecl Card::blankCard(void)" (?blankCard@Card@@SAXXZ)
blackjack.exe : fatal error LNK1120: 1 unresolved externals
Run Code Online (Sandbox Code Playgroud)

问题出在`blankcard()函数中,我正在尝试创建一个新的类实例,并将其放入向量中.

有人可以阅读代码告诉我我的问题,并给我一个很好的例子,如何做到这一点?谢谢.

#include <iostream>
#include <vector>
#include <string>
using namespace std;

class Card
{
  private:
    string suit;
    int number;
    static vector<Card> Cards;

  public:
    Card::Card();
    Card::Card(string cardS, int cardV);
    static void createCards(); 
    static void blankCard();    
};


int main()
{
  Card::blankCard();
  return …
Run Code Online (Sandbox Code Playgroud)

c++ class vector

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

在iOS中以编程方式进行自动调用

是否可以使用某些系统API调用iphone sdk中的预定数字?

iphone objective-c ios

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

如何使用现有的整数排序来对整数元组进行排序?

有没有人知道使用现有整数排序(例如STL排序)的有效算法来排序整数元组而不修改现有的整数排序.例如,我想排序4个整数元组的列表.元组的形式如下:<int,int,int, int>.再次假设整数排序只能处理单个整数.

c++ sorting algorithm quicksort

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