小编Sco*_*ton的帖子

目标C - 什么时候"typedef"应该在"enum"之前,什么时候应该枚举enum?

在示例代码中,我看到了这样的:

typedef enum Ename { Bob, Mary, John} EmployeeName;
Run Code Online (Sandbox Code Playgroud)

还有这个:

typedef enum {Bob, Mary, John} EmployeeName;
Run Code Online (Sandbox Code Playgroud)

还有这个:

typedef enum {Bob, Mary, John};
Run Code Online (Sandbox Code Playgroud)

但为我成功编译的是:

enum {Bob, Mary, John};
Run Code Online (Sandbox Code Playgroud)

我将该行放在@interface行上方的.h文件中,然后当我将该.h文件#import转换为另一个类的.m文件时,方法可以看到枚举.

那么,何时需要其他变种?

如果我可以将枚举命名为EmployeeNames,然后,当我键入"EmployeeNames"后跟一个"."时,如果弹出一个列表显示枚举选项是什么,那就太好了.

enums typedef objective-c

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

Objective C Class还是struct?

我有一个类歌曲,其属性为Title,Key,Artist等.没有方法.我遍历歌曲信息数据库并为每个创建一个Song对象,填充属性,然后将Song对象存储在NSArray中.

然后我想,为什么不只是有一个具有所有相同属性的结构歌曲而不是类宋.这样做会消除类文件,using类的.m文件中的#import Song行,以及需要alloc,init,release.

另一方面,我必须将struct定义放在可能需要它的每个类中.(除非有一些全局可访问的位置 - 是否存在?)此外,结构是否可以存储在NSArray中?

struct class objective-c nsarray

7
推荐指数
2
解决办法
9551
查看次数

Objective C - 创建和初始化对象的首选方法

创建和初始化对象的两种方法之一是否更可取?

MyClass oClass = [[MyClass alloc] init];
oClass.length = 5;
oClass.text = @"Hello";
Run Code Online (Sandbox Code Playgroud)

或者使用包含大致相同代码的类方法,但如下所示:

MyClass oClass = [MyClass myClassWithLength:(int) 5 andText:(NSString *) @"Hello"];
Run Code Online (Sandbox Code Playgroud)

当我看到事情不止一种方式而且我不知道一个人比另一个人好,或者为什么时,我讨厌它!

creation object objective-c preference

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

[self.tableView reloadData]如何知道要重载的数据?

我的浏览器恰好是一个tableViewController,它告诉我,它的属性是一个NSArray或一个NSDictionary,它保存了要加载到表中以供显示的数据.

好像我应该明确说出类似的话:

[self.tableView useData:self.MyArray];
Run Code Online (Sandbox Code Playgroud)

我想在tableViewController中有多个数组,并以编程方式在一个和另一个之间切换.

我注意到当tableViewController使用searchViewController时,你可以这样做:

if (tableView == self.searchDisplayController.searchResultsTableView) {
Run Code Online (Sandbox Code Playgroud)

我甚至能够做到这一点:

self.tableView =  self.searchDisplayController.searchResultsTableView;
[self.tableView reloadData];
Run Code Online (Sandbox Code Playgroud)

但是我无处可以找到如何将self.tableView设置回主数据源!

iphone datasource objective-c tableview

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

Objective C中数据类型id与NSString的优势?

这段代码......

NSString * s = [[NSString alloc] initWithString:@"Hello, World"]; 
s = s.lowercaseString;
NSLog(@"%@", s);
Run Code Online (Sandbox Code Playgroud)

...允许使用点表示法,但是强类型.这段代码......

id s = [[NSString alloc] initWithString:@"Hello, World"]; 
s = [s lowercaseString];
NSLog(@"%@", s);
Run Code Online (Sandbox Code Playgroud)

...是弱类型的,需要使用方括号.

除此之外,使用一个优于另一个是否有任何优势?

memory objective-c nsstring

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

Objective C iPhone应用程序的编译器是否删除了注释?

我只是想知道评论是否包含在二进制文件中,或者编译器是否知道删除它们?

compiler-construction iphone comments objective-c

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

CLang错误(目标C):永远不会读取初始化期间存储的值

Foo *oFoo = [[[Foo alloc] init] autorelease];
Run Code Online (Sandbox Code Playgroud)

这就是我被教导如何在Objective C中编程,但CLang错误检查器抱怨从未读过初始值.但是oFoo是一个具有属性的对象.oFoo本身没有单一价值.属性值是重要的.

oFoo.PropertyA = 1;
oFoo.PropertyB = @"Hello, World."
Run Code Online (Sandbox Code Playgroud)

我应该忽略这个吗?这值得修理吗?什么是修复,看到"初始值"在我的背景下毫无意义?

objective-c clang-static-analyzer

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

iPhone如何以编程方式将度数符号替换为字符串中的字母o?

我知道如何替换字符串中的文本.但那是使用键盘(ASCII)字符.在目标C中,我如何指出学位符号?另外,如何获取角色的ASCII码?

iphone ascii symbols objective-c

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

C# 静态成员是否在对网站的调用之间共享?

我正在使用 C#/Asp.net 创建一个网站。我想通过将一些类和属性设置为静态来最小化对象创建。但我不希望后续调用 Web 服务器时重用这些对象。我希望在处理请求后立即处理静态对象。如果在处理过程中出现新请求,我不希望新请求看到前一个请求的静态类和属性中的数据。那么,我应该使用静态吗?

c# asp.net static web

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