如何从ViewController外部(从.m文件)访问UITextField?

时间:2013-08-19 23:08:00

标签: ios objective-c

我有一个班级,我保留实用方法;其中一个方法获取存储在ViewController中的某些文本框中的值,并将这些值保存到plist中。

问题是实用程序方法类不是ViewController,因此我无法将文本框的出口属性“挂钩”到Utility类。

有没有办法可以将ViewController作为参数传递给Utility类方法?

2 个答案:

答案 0 :(得分:1)

只需使实用程序类成为继承自NSObject的Singleton。这样,您可以轻松地访问任何您想要的方法,并且您只有一个实例。

https://developer.apple.com/library/ios/documentation/general/conceptual/DevPedia-CocoaCore/Singleton.html

Matt Gallagher写了一个很棒的帮助文件来创建Singletons。在这里查看:

http://www.cocoawithlove.com/2008/11/singletons-appdelegates-and-top-level.html

答案 1 :(得分:0)

如果这些实用程序方法是类方法,则使用单例。像这样:

+ (__CMMotionManager__ *)__sharedMotionManager__ {
    static __CMMotionManager__ *shared = nil;
    if (!shared) {
        static dispatch_once_t onceToken;
        dispatch_once(&onceToken, ^{ // all threads will block here until the block executes
            shared = [[__CMMotionManager__ alloc] init]; // this line of code can only ever happen once
        });
    }
    return shared;
}

(这是我的CoreMotionManager代码段)