설명을 위해 최선을 다할 수 있도록 도움이 필요합니다. 그래서 그때가 내가있는 tableView가 설정 한가변 범위 문제, iPhone
NSArray *getValue(NSString *iosearch)
{
mach_port_t masterPort;
CFTypeID propID = (CFTypeID) NULL;
unsigned int bufSize;
kern_return_t kr = IOMasterPort(MACH_PORT_NULL, &masterPort);
if (kr != noErr) return nil;
io_registry_entry_t entry = IORegistryGetRootEntry(masterPort);
if (entry == MACH_PORT_NULL) return nil;
CFTypeRef prop = IORegistryEntrySearchCFProperty(entry, kIODeviceTreePlane, (CFStringRef) iosearch, nil, kIORegistryIterateRecursively);
if (!prop) return nil;
propID = CFGetTypeID(prop);
if (!(propID == CFDataGetTypeID()))
{
mach_port_deallocate(mach_task_self(), masterPort);
return nil;
}
CFDataRef propData = (CFDataRef) prop;
if (!propData) return nil;
bufSize = CFDataGetLength(propData);
if (!bufSize) return nil;
NSString *p1 = [[[NSString alloc] initWithBytes:CFDataGetBytePtr(propData) length:bufSize encoding:1] autorelease];
mach_port_deallocate(mach_task_self(), masterPort);
return [p1 componentsSeparatedByString:@"\0"];
}
- (NSString *) serialnumber
{
NSArray *results = getValue(@"serial-number");
if (results) return [results objectAtIndex:0];
return nil;
}
- (NSString *) backlightlevel
{
NSArray *results = getValue(@"backlight-level");
if (results) return [results objectAtIndex:0];
return nil;
}
과 내 배열을 표시 할 : 나는이 모든 일에 근무하고 더 성공 (단지 학습!)
을 내가 가진 없었습니다
내 .H 파일에서- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {.............
.........................................................
cell.text = [results objectAtIndex:indexPath.row]; // error results undeclared here
return cell;
}
나는이 :
@interface UIDevice_IOKitExtensionsViewController : UIViewController {
IBOutlet UITableView *tblSimpleTable;
NSArray *results;
}
@property (nonatomic, retain) NSArray *results;
- (NSString *) serialnumber;
- (NSString *) backlightlevel;
문제는 내가 위에 표시된대로 선언되지 않은 결과를 얻을 수 있습니다. 또한 일련 번호와 백라이트 레벨을 버튼 클릭이나로드시 표시하는 방법을 알 수 없습니다. 내 시도는 오류 : 'serialnumber'는이 함수에서 처음 사용되지 않고 경고와 같은 경고를 반환합니다. 'return'은 값을 반환하고 void를 반환합니다. 긴 질문에 사과드립니다!
많은 감사, 스튜어트
내 .h 파일에서 NSArray * 결과로 선언되었습니다. – Stumf
언제 설정합니까? ivar로 선언 된 경우 컴파일 타임 오류가 발생하지 않지만 결과는 정의되지 않았거나 설정되지 않았거나 런타임에 오류가 발생합니다. 너 어느 쪽 이냐? –
신고되지 않았지만 지금은 분류되어 있습니다. viewDidLoad 또는 buttonClick 내에서 디스플레이 스테이지 또는 두 NString 메서드 중 하나를 넣을 때 "undeclared"가 다시 나타납니다. 아마 기본적인 실수를하고 있거나 개념을 잘못 이해하고있을 것입니다. – Stumf