Objective-C.无法实例化对象
我最近开始了我的Objective-C之旅 在我的类KGApp中,我有一个方法Objective-C.无法实例化对象,objective-c,Objective C,我最近开始了我的Objective-C之旅 在我的类KGApp中,我有一个方法-(void)createArrayOfKGAppQuotes。在这种方法中: 我将引用和作者的长字符串拆分为quotesArrayTemp 然后我做循环 我将每个引用及其作者拆分,并将其放置到tempQuoteArray 然后,我尝试将对象addObject添加到属性quotesArray,该属性通过分别使用两个NSString的初始值设定项实例化此对象来保存KGQuote对象 -(void)createArrayO
-(void)createArrayOfKGAppQuotes
。在这种方法中:
quotesArrayTemp
tempQuoteArray
addObject
添加到属性quotesArray
,该属性通过分别使用两个NSString的初始值设定项实例化此对象来保存KGQuote对象-(void)createArrayOfKGAppQuotes{
NSArray*quotesArrayTemp=[self.stringOfQuotes组件由字符串分隔:@“\n”];
for(NSString*quotesArrayTemp中的quote){
NSArray*tempQuoteArray=[引用由字符串分隔的组件:@”/“];
[self.quotesArray addObject:[KGQuote alloc]initWithQuote:[tempQuoteArray objectAtIndex:0]和withauthor:[tempQuoteArray objectAtIndex:1]];
}
}
我确信正在填充tempQuoteArray
,它包含NSString。但是quotesArray
返回为零
非常感谢您的帮助。添加
NSLog()
以查看值。如果有一些内容为nil、empty等,如果愿意,您可以使用debugguer和断点,但通常在我们开始时,我们更喜欢打印。嘿,感谢您的回复。我已经在代码中添加了NSLogs。当我为quotesArrayTemp做NSLog时,它的所有内容都按预期工作,并打印元素。当我在for循环中为quotesArray执行NSLog时,它返回为nil代码>在某个点。KGQuote*quote=[self.quotesArray objectAtIndex:0];NSString*作者=[引用作者]代码>,或使用强制转换:NSString*author=[(KGQuote*)[self.quotesArray objectAtIndex:0]author]代码>完全正确。您声明了它,但没有初始化它。假设您需要对其进行自定义初始化,等等。这里是一个数组,但如果您有一个UIViewController,如果您想从xib、另一个自定义xib、情节提要等初始化它,则需要提供其初始化
-(void)createArrayOfKGAppQuotes {
NSArray<NSString *> *quotesArrayTemp = [self.stringOfQuotes componentsSeparatedByString:@"\n"];
for (NSString *quote in quotesArrayTemp) {
NSArray *tempQuoteArray = [quote componentsSeparatedByString:@"/"];
[self.quotesArray addObject:[[KGQuote alloc] initWithQuote:[tempQuoteArray objectAtIndex:0] andWithAuthor:[tempQuoteArray objectAtIndex:1]]];
}
}