ঠিক কীভাবে NSInvocation
কাজ করে? একটি ভাল পরিচয় আছে?
নিম্নলিখিত কোডটি ( ম্যাক ওএস এক্স, তৃতীয় সংস্করণের জন্য কোকো প্রোগ্রামিং থেকে) কীভাবে কাজ করে তা বোঝার ক্ষেত্রে আমি বিশেষভাবে সমস্যা বোধ করছি তবে তারপরেও টিউটোরিয়াল নমুনার স্বাধীনভাবে ধারণাগুলি প্রয়োগ করতে সক্ষম হব। কোড:
- (void)insertObject:(Person *)p inEmployeesAtIndex:(int)index
{
NSLog(@"adding %@ to %@", p, employees);
// Add inverse of this operation to undo stack
NSUndoManager *undo = [self undoManager];
[[undo prepareWithInvocationTarget:self] removeObjectFromEmployeesAtIndex:index];
if (![undo isUndoing])
[undo setActionName:@"Insert Person"];
// Finally, add person to the array
[employees insertObject:p atIndex:index];
}
- (void)removeObjectFromEmployeesAtIndex:(int)index
{
Person *p = [employees objectAtIndex:index];
NSLog(@"removing %@ from %@", p, employees);
// Add inverse of this operation to undo stack
NSUndoManager *undo = [self undoManager];
[[undo prepareWithInvocationTarget:self] insertObject:p
inEmployeesAtIndex:index];
if (![undo isUndoing])
[undo setActionName:@"Delete Person"];
// Finally, remove person from array
[employees removeObjectAtIndex:index];
}
এটি করার চেষ্টা করছে আমি পেয়েছি। (BTW, employees
একটি হল NSArray
একটি কাস্টম এর Person
বর্গ।)
। নেট লোক হওয়ার কারণে আমি অপরিচিত ওবজে-সি এবং কোকো ধারণাগুলিকে মোটামুটি একই রকম। নেট ধারণাগুলিতে যুক্ত করার চেষ্টা করি। এটি নেট। এর প্রতিনিধি ধারণার মতো, তবে টাইপযুক্ত?
এটি বই থেকে 100% স্পষ্ট নয়, তাই আমি বাস্তব (কোষ) উদাহরণের নীচে মৌলিক ধারণাটি বুঝতে পেরে এমন লক্ষ্য নিয়ে আবারও বাস্তব কোকো / ওবজ-সি বিশেষজ্ঞদের কাছ থেকে পরিপূরক কিছু খুঁজছি। আমি সত্যই জ্ঞানটি স্বাধীনভাবে প্রয়োগ করতে সক্ষম হতে দেখছি - 9 ম অধ্যায় পর্যন্ত, আমার এটি করতে কোনও অসুবিধা হচ্ছিল না। কিন্তু এখন ...
আগাম ধন্যবাদ!
setArgument:atIndex:
, সুতরাং আরগ অ্যাসাইনমেন্টটি আসলে পড়তে হবে[myInvocation setArgument:&myString atIndex:2]
।