- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component { return _firsClassArray.count;}- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component { return [[_firsClassArray objectAtIndex:row] objectForKey:kTitleKey];}=======================比如两个列子中,(nsinteger)就没有*号,而(nsstring *)就有*号,为什么啊?
NSInteger 是整型数类型,typedef int NSInteger 固件长度字节数,直接可以返回;如果返回NSInteger*就是多余了,因为指针也是一个整型长度,比如NSString 是字符串类型,长度不定,内存分配一般返回字符串起始地址,即是NSString*类型。
NSInteger, CGFloat, CGRect 等等都属于基本类型,基本类型在创建时一般被分配到“栈”上NSString, NSArray等等都属于引用类型或指针类型,创建时被分配到“堆”上。在声明时用 * 来标识,一般的指针变量指向对象本身。