Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 需要xcode的基本解释_Ios_Xcode - Fatal编程技术网

Ios 需要xcode的基本解释

Ios 需要xcode的基本解释,ios,xcode,Ios,Xcode,我实际上是xcode的新手。我能分辨出一些事情是我自己,但有些事情是做什么的,为什么要放在那里。我读过很多电子书,看过很多教程,但它们从不涉及基础知识,总是说“添加这个,点击这里等” 有人能回答我几个问题吗。 好的,我知道ios应用程序主要由视图组成,视图由控制器控制。每个控制器都有一个头(.h)文件和一个模块类?文件(.m)。.h文件包含.m文件中使用的变量和函数的声明。 整个应用程序由一个称为“代理”的主“控制器”控制。 .h文件中的定义可以是例如action iAction或IBLabel

我实际上是xcode的新手。我能分辨出一些事情是我自己,但有些事情是做什么的,为什么要放在那里。我读过很多电子书,看过很多教程,但它们从不涉及基础知识,总是说“添加这个,点击这里等”

有人能回答我几个问题吗。 好的,我知道ios应用程序主要由视图组成,视图由控制器控制。每个控制器都有一个头(.h)文件和一个模块类?文件(.m)。.h文件包含.m文件中使用的变量和函数的声明。 整个应用程序由一个称为“代理”的主“控制器”控制。 .h文件中的定义可以是例如action iAction或IBLabel或其他内容

给我提出问题的是以下几行:

@class FlipsideViewController;

@protocol FlipsideViewControllerDelegate
- (void)flipsideViewControllerDidFinish:(FlipsideViewController *)controller;
@end

@interface FlipsideViewController : UIViewController

@property (nonatomic, assign) id <FlipsideViewControllerDelegate> delegate;

- (IBAction)done:(id)sender;
下面是做什么的,意思是@interface声明是什么

@interface flipAppDelegate : NSObject <UIApplicationDelegate>
很抱歉问了一些非常愚蠢的问题,但每个教程都忽略了这些问题。 我可以关注youtube视频或手册,但它并没有教会我很多…

  • Xcode=一个IDE(集成开发环境)
  • Objective-C=一种语言
  • Cocoa Touch、媒体框架、核心框架=用于iOS开发的框架
我强烈建议从学习Objective-C开始。至少先学习初级课程:


苹果为开发者提供了丰富的教程和视频,你可能想从开发者门户开始。

你真的需要阅读苹果的教程和视频。这篇文章非常简短,包含了架构、概念和语法的基础知识

简要介绍一些细节:

  • @class
    指令用于声明类的名称,而无需导入其头文件。它通常用于声明协议的.h文件中,因为协议没有实现,所以它不需要导入其他类的接口(它们的.h文件)
  • 协议是声明类应该具有哪些方法和属性以“实现”协议的一种方式
  • @interface
    在接口文件(.h)中用于声明类,这意味着描述它将拥有的方法和属性、它将实现的协议以及它将从中继承的超类。在您的示例中,该类将被称为
    flipAppDelegate
    ,它继承了
    NSObject
    类的所有方法和属性,并实现了
    uiapplicationelegate
    协议
  • 在类(.m)文件中,您将定义(使用所有代码)在接口文件中声明的所有方法和属性。包括您自己声明的方法和属性,以及您实现的协议
  • @synthesis
    在类实现文件(.m)中用于“合成”——也就是说,自动为接口(.h)文件中声明的所有属性创建代码。由于属性通常只需要基本的访问器(一个只返回当前值的“getter”和一个只设置当前值的“setter”),因此使用
    @synthesis
    是一种快捷方式,可以让编译器为您自动创建存储值的变量、getter方法和setter方法

    • 让我试着回答你的问题,一次一个

      什么是@interface声明

      @interface flipAppDelegate : NSObject <UIApplicationDelegate>
      
      接口声明了一个类。通过声明一个类,我的意思是它指定了它包含的实例变量和私有/公共方法。同样,头文件只包含方法的声明,方法的实现/主体位于模块类中。那么,这里-

      @界面FlipsideViewController:UIViewController

      FlipsideViewController
      源自/subclass/extends
      UIViewController
      。i、 e是一种
      UIViewController
      ,但添加了自己的功能

      同样地

      @interface flipAppDelegate : NSObject <UIApplicationDelegate>
      
      @接口flipAppDelegate:NSObject
      
      子类NSObject并实现
      UIApplicationLegate
      协议。协议本质上是类承诺实现的一组方法(尽管可以有可选方法)

      为什么有时会在另一个视图控制器中加载委托类

      @class MainViewController;
      
      委托模式允许一个类将其工作委托给实现委托协议的另一个类。因此,这里,
      FlipsideViewController
      保留代理对象的一个实例,以便可以调用其
      FlipSideViewControllerdFinish:

      什么是非原子的

      这意味着当您为实例变量设置值时,该值的refcount将递增并设置为您的变量。而且,它不会作为原子操作发生。您只需要在多线程环境中使用原子

      @Synthesis只是为变量生成getter和setter的快捷方式。

      噢,还有“@synthesis”这是做什么的?这是连接主控制器的一种方式吗?