إرجاع NSString ، رسالة الخطأ: المتغير ليس CFString
سؤال
لقد بدأت قريبًا في برمجة تطبيقات Mac OS X مع الكاكاو ، لذا فهو سؤال جديد حقًا. أسف على هذا.
في البداية ، فإن قصاصة الكود الخاصة بي:
- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
Purchaser *actPurchaser = [tableViewDataArray objectAtIndex:row];
NSString *colID = [tableColumn identifier];
NSString *cell = [actPurchaser performSelector:NSSelectorFromString( colID)];
return cell;
}
ترى أنني أرغب في عرض جميع الأعضاء خارج المشتري في NstableView ، لكن البرنامج يبدأ لفترة طويلة ثم يفشل. تقول نظرة في Debugger أن المشكلة هي NSString ، يقول Debugger "المتغير ليس CFString". ليس لدي أي فكرة عما يجب أن يعنيه/قد يعني ذلك ، لذلك وجدت بعض خيوط المنتدى ، لكن لا أحد يساعدني.
أيه أفكار؟ إذا سمحت ببعض المعلومات ، آسف. اسألني عنهم!
تحياتي ، دينيس
المحلول
هل راجعت أن طريقة inidentifier تُرجع فعليًا مثيل NSString؟ جرب nslog (@"colid = ٪@" ، colid) ؛ أظن أنك قد لا تقوم بتعيين المعرف لبعض الأعمدة ، أو أنك قمت بتعيين معرف ليس سلسلة.
لا تنتمي إلى StackOverflow