我知道的是一个简单的问题,但经过书籍和互联网上的多次搜索后,我似乎无法想出一个解决方案.我有一个标准的iPhone项目,其中包含一个ViewController.我的应用程序在这一点上运行得很好.
我现在想要创建一个具有一些基本实用方法的泛型类(扩展NSObject).我们将这个类称为Util.m(以及相关的.h文件).
我在我的项目中创建了Util类(和.h文件),现在我想从ViewController访问该类类中包含的方法.
这是Util.h的简单版本的示例
#import <Foundation/Foundation.h>
@interface Util : NSObject {
}
- (void)myMethod;
@end
Run Code Online (Sandbox Code Playgroud)
然后Util.m文件看起来像这样:
#import "Util.h"
@implementation Util
- (void)myMethod {
NSLog(@"myMethod Called");
}
@end
Run Code Online (Sandbox Code Playgroud)
现在我的Util类已经创建了,我想从我的ViewController调用"myMethod"方法.在我的ViewController的.h文件中,我执行以下操作:
#import "Util.h"
@interface MyViewController : UIViewController {
Util *utils;
}
@property (assign) Util *utils;
@end
Run Code Online (Sandbox Code Playgroud)
最后,在ViewController.m中,我执行以下操作:
#import "Util.h"
@implementation MyViewController
@synthesize utils;
- (void)viewDidLoad {
[super viewDidLoad];
utils.myMethod; //this doesn't work
[utils myMethod]; //this doesn't work either
NSLog(@"utils = %@", utils); //in the console, this prints "utils = (null)"
}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?我想不仅能够直接引用像这样的简单util类中的其他类/方法,而且我还想直接引用其他ViewControllers及其属性和方法.
我很难过!请帮忙.
我的老板有兴趣使用MKS Integrity进行错误跟踪,功能请求,Wiki文档等.但是,我们目前使用Subversion,他不想强迫我们开发人员使用我们不喜欢的版本控制系统.
是否可以将不同的版本控制程序集成到MKS Integrity中?我对SVN,Git,Mercurial和Bazaar特别感兴趣.如果你之前尝试过这样的混合工具,我很想知道你的经历.
更新:正如问题回答者所回答的,有ClearCase,Perforce和Subversion的集成.但是,似乎没有为Mercurial或Git创建任何集成.同时,创建集成似乎需要大约500行(Perl)代码的顺序,因此如果您真的想要它,那么为这些版本控制系统之一创建集成并不是不可能的.
当我尝试与日期进行比较时,我遇到了Java Calendar类的一个无法解释的问题.我正在尝试与日历进行比较,并确定它们的差异是否超过1天,并根据这种差异做事.但它不起作用.
如果我这两个日期这样做:
String currDate = aCurrentUTCCalendar.getTime().toString();
String localDate = aLocalCalendar.getTime().toString();
Run Code Online (Sandbox Code Playgroud)
我得到这些结果:
currDate = "Thu Jan 06 05:58:00 MST 2010"
localDate = "Tue Jan 05 00:02:00 MST 2010"
Run Code Online (Sandbox Code Playgroud)
这是对的.
但如果我这样做:
long curr = aCurrentUTCCalendar.getTime().getTime();
long local = aLocalCalendar.getTime().getTime();
Run Code Online (Sandbox Code Playgroud)
我得到了这些结果:(自纪元以来的毫秒数)
curr = -125566110120000
local = 1262674920000
Run Code Online (Sandbox Code Playgroud)
由于两者之间只有大约30个小时的不同,因此幅度差别很大,更不用说恼人的负号了.
如果我这样做,这会导致问题:
long day = 60 * 60 * 24 * 1000; // 86400000 millis, one day
if( local - curr > day )
{
// do something
}
Run Code Online (Sandbox Code Playgroud)
怎么了?为什么getTime().toString()调用正确,但getTime().getTime()调用有很大的不同?
我在WinXP上使用jdk 1.6_06.我出于各种原因无法升级JDK.
ADFS 2.0是否支持本维基百科文章中提及的SAML 1.1协议和Web SSO配置文件,或者仅支持SAML 1.1令牌?
在HTML5中有一种新的输入类型"搜索".在大多数浏览器上,它只是一个简单的"文本"输入,但对于基于webkit的浏览器,它添加了一个小的交叉来重置输入.
我希望能够处理这个,有没有这样的事件?
例如,在Python中,如果我想获取对象的所有属性,我可以做这样的事情:
>>> import sys
>>> dir(sys)
['__displayhook__', '__doc__', '__excepthook__', '__name__', '__package__', '__stderr__', '__stdin__', '__stdout__', '_clear_type_cache', '_current_frames', '_getframe', 'api_version', 'argv', 'builtin_module_names', 'byteorder', 'call_tracing', 'callstats', 'copyright', 'displayhook', 'dont_write_bytecode', 'exc_clear', 'exc_info', 'exc_type', 'excepthook', 'exec_prefix', 'executable', 'exit', 'flags', 'float_info', 'getcheckinterval', 'getdefaultencoding', 'getdlopenflags', 'getfilesystemencoding', 'getprofile', 'getrecursionlimit', 'getrefcount', 'getsizeof', 'gettrace', 'hexversion', 'maxint', 'maxsize', 'maxunicode', 'meta_path', 'modules', 'path', 'path_hooks', 'path_importer_cache', 'platform', 'prefix', 'ps1', 'ps2', 'py3kwarning', 'pydebug', 'setcheckinterval', 'setdlopenflags', 'setprofile', 'setrecursionlimit', 'settrace', 'stderr', 'stdin', 'stdout', 'subversion', 'version', 'version_info', 'warnoptions']
Run Code Online (Sandbox Code Playgroud)
或者,如果我想查看某些内容的文档,我可以使用帮助功能:
>>> help(str)
Run Code Online (Sandbox Code Playgroud)
有没有办法在Ruby中做类似的事情?
我有一个应用程序,我正在访问SQL服务器后端.使用最频繁的部分之一是用户选择问题的答案,然后触发存储过程,查看是否已经给出答案,是否执行了UPDATE,如果没有执行INSERT.
这工作得很好,但现在我们已升级到SQL server 2008 express我想知道重写此SP以使用新的MERGE命令是否会更好/更快/更有效.
有没有人知道这是否比执行SELECT后跟INSERT或UPDATE更快?
我对文学(关于互联网,杂志,书籍,播客的文章 - 我真的不介意任何事情)感兴趣,这些文章描述了PHP如何在内部工作,关于它的陷阱以及一些高级功能.那里有这样的东西吗?我试图在Google上搜索,但大多数文章都是关于从PHP及其基本功能开始的.
任何输入都非常受欢迎,因为我正试图在内部理解语言 - 我已经厌倦了在没有理解其本质的情况下无意识地输入代码.
我怎么能在Cocoa中编写捆绑包而没有太多的"模糊"呢?我只想要一个包含Info.plist,一个Contents文件夹的包,该文件夹应包含几个文件.