objective c - এআরসি ব্যবহার করার জন্য কোনও প্রকল্প রূপান্তর করার অর্থ কী "সুইচ কেস সুরক্ষিত স্কোপে" অর্থ কী?




objective-c xcode (6)

আগে:

    case 2:
        NSDate *from = [NSDate dateWithTimeIntervalSince1970:1388552400];
        [self refreshContents:from toDate:[NSDate date]];
        break;

আমি সুইচ আগে NSDate সংজ্ঞা সরানো, এবং এটি কম্পাইল সমস্যা সংশোধন:

NSDate *from;  /* <----------- */
switch (index) {
    ....
    case 2:
        from = [NSDate dateWithTimeIntervalSince1970:1388552400];
        [self refreshContents:from toDate:[NSDate date]];
        break;

}

এআরসি ব্যবহার করার জন্য কোনও প্রকল্প রূপান্তর করার অর্থ কী "সুইচ কেস সুরক্ষিত স্কোপে" অর্থ কী? এক্সকোড 4 সম্পাদনা -> রিফ্যাক্টর -> অবজেক্ট-সি এআরসি-তে রূপান্তর করুন, আমি এআরসি ব্যবহার করার জন্য একটি প্রকল্প রূপান্তর করছি ... আমি যে ত্রুটিগুলি পেয়েছি তা হল "সুইচ কেসটি সুরক্ষিত সুযোগ" একটি সুইচ ক্ষেত্রে।

সম্পাদনা করুন, এখানে কোডটি রয়েছে:

ERROR "ডিফল্ট" ক্ষেত্রে চিহ্নিত করা হয়:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"";
    UITableViewCell *cell ;
    switch (tableView.tag) {
        case 1:
            CellIdentifier = @"CellAuthor";
            cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
            if (cell == nil) {
                cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
        }
        cell.textLabel.text = [[prefQueries objectAtIndex:[indexPath row]] valueForKey:@"queryString"];
        break;
    case 2:
        CellIdentifier = @"CellJournal";
        cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        if (cell == nil) {
            cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
        }
        cell.textLabel.text = [[prefJournals objectAtIndex:[indexPath row]] valueForKey:@"name"];

        NSData * icon = [[prefJournals objectAtIndex:[indexPath row]] valueForKey:@"icon"];
        if (!icon) {
            icon = UIImagePNGRepresentation([UIImage imageNamed:@"blank72"]);
        }
        cell.imageView.image = [UIImage imageWithData:icon];

        break;

    default:
        CellIdentifier = @"Cell";
        cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        if (cell == nil) {
            initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
            cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
            }
        break;
    }


    return cell;
}

আমার জন্য, একটি সুইচ মাঝখানে সমস্যাটি শুরু হয়েছিল এবং কোঁকড়া বন্ধনীগুলি কাজ করে নি, যতক্ষণ না আপনি পূর্ববর্তী কেস বিবৃতিগুলিতে {} অন্তর্ভুক্ত করতে হবে। আমার জন্য যখন আমি বিবৃতি ছিল ত্রুটি

NSDate *start = [NSDate date];

আগের ক্ষেত্রে। আমি এটি মুছে ফেলার পরে, পরবর্তী সমস্ত কেস বিবৃতি সংরক্ষিত স্ক্রিন ত্রুটির বার্তা থেকে পরিষ্কার হয়েছে


কোডটি না দেখেই নিশ্চিত হওয়া কঠিন, তবে সম্ভবত এটি সুইচটির ভিতরে চলমান কিছু পরিবর্তনশীল ঘোষণাপত্র এবং প্রয়োজনীয় ডেলোকোক বিন্দুতে একটি পরিষ্কার পথ আছে কিনা তা কম্পাইলার বলতে পারে না।


প্রতিটি কেস নিজেই ধনুর্বন্ধনী সঙ্গে {} । যে সমস্যা ঠিক করা উচিত (এটা আমার প্রকল্পের এক আমার জন্য করেনি)।


কেস বিবৃতি এবং প্রতিটি ক্ষেত্রে বিরতি মধ্যে কোড ধনুর্বন্ধনী সঙ্গে {} । এটা আমার কোড কাজ।


default:
        CellIdentifier = @"Cell";
        cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        if (cell == nil) {
            ***initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];***
            cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
            }
        break;
    }

নোট: চেক করুন! গাঢ় এবং ইটালিকাইজড লাইন সিনট্যাক্স। এটা সংশোধন করা এবং আপনি যেতে ভাল।





automatic-ref-counting