CRHViewControllerScriptクラスで「bulletedArray」というNSArrayを作成しましたが、同じ配列にアクセスして、CRHCommentSectionクラスのNSLogに書き出そうとしています。しかし、それは配列を書き込んでいません。私は配列が機能することを知っており、ファーストクラスでそれを書き出すことができます。次のクラスにたどり着く方法は悪いと思いますが、コードは次のようになります。
「CRHViewControllerScript.h」
@interface CRHViewControllerScript : UIViewController <UITextViewDelegate> {
__weak IBOutlet UITextView *myTextView;
}
+ (NSArray*)theArray;
- (IBAction)chalkYes:(id)sender;
@end
「CRHViewControllerScript.m」
#import "CRHViewControllerScript.h"
static NSArray* bulletedArray = nil;
@interface CRHViewControllerScript ()
@end
@implementation CRHViewControllerScript
+ (NSArray*)theArray {
return bulletedArray;
}
- (IBAction)chalkYes:(id)sender {
//get the text inside the textView
NSString *textContents = myTextView.text;
textContents = [textContents stringByReplacingOccurrencesOfString:@"\n" withString:@""];
//make the array
NSArray *bulletedArray = [textContents componentsSeparatedByString:@"\u2022"];
//eliminate blank component at top of the array ("")
NSUInteger len = bulletedArray.count;
if (bulletedArray.count) {
bulletedArray = [bulletedArray subarrayWithRange:NSMakeRange(1, len-1)];
}
//print out array
NSLog(@"%@",bulletedArray);
}
CRHCommentSection.h
#import <UIKit/UIKit.h>
@interface CRHCommentSection : UIViewController
@end
CRHCommentSection.m
#import "CRHCommentSection.h"
#import "CRHViewControllerScript.h"
@interface CRHCommentSection ()
@end
@implementation CRHCommentSection
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
NSArray *myArray = [CRHViewControllerScript theArray]; // This is how to call a Class Method in Objective C
NSLog(@"%@", myArray);
}