精品专区-精品自拍9-精品自拍三级乱伦-精品自拍视频-精品自拍视频曝光-精品自拍小视频

網(wǎng)站建設(shè)資訊

NEWS

網(wǎng)站建設(shè)資訊

IOS中MVC層如何讀取服務(wù)器接口JSON數(shù)據(jù)-創(chuàng)新互聯(lián)

這篇文章主要介紹了IOS中MVC層如何讀取服務(wù)器接口JSON數(shù)據(jù),具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊虛擬主機(jī)、營銷軟件、網(wǎng)站建設(shè)、渦陽網(wǎng)站維護(hù)、網(wǎng)站推廣。

具體程序如下:

一:YSMasonryManager.h

#import #import "BaseManager.h"#import "YSMasonryModel.h"@protocol YSMasonryManagerDelegate -(void)networkSuccess:(YSMasonryModel *_Nullable)result;-(void)networkFail:(NSString *_Nullable)result;@endNS_ASSUME_NONNULL_BEGIN@interface YSMasonryManager : BaseManager@property(weak,nonatomic) id delegate;-(void)getDeviceProile:(NSString *)limit Offset:(NSString *)offset;@endNS_ASSUME_NONNULL_END

二:YSMasonryManager.m

#import "YSMasonryManager.h"@implementation YSMasonryManager-(void)getDeviceProile:(NSString *)limit Offset:(NSString *)offset{  NSString *strUrl = [NSString stringWithFormat:@"%@api/internal/profile",DEVICE_BASE_URL];  //JSON  [PPNetworkHelper setRequestSerializer:PPRequestSerializerHTTP];  [PPNetworkHelper setResponseSerializer:PPResponseSerializerJSON];  //配置Jwt文件  [PPNetworkHelper setValue:USERJWTKEYS forHTTPHeaderField:@"Grpc-Metadata-Authorization"];  [PPNetworkHelper GET:strUrl parameters:@"" success:^(id responseObject){    YSMasonryModel *net = [YSMasonryModel mj_objectWithKeyValues:responseObject];    if(net.organizations.count>0){      if([self.delegate respondsToSelector:@selector(networkSuccess:)]){        [self.delegate networkSuccess:net];      }    }else{      if([self.delegate respondsToSelector:@selector(networkFail:)]){        [self.delegate networkFail:@"Get Fail!"];      }    }  } failure:^(NSError *error){    // NSError *newError = [NSError returnErrorWithError:error];    if([self.delegate respondsToSelector:@selector(networkFail:)]){      [self.delegate networkFail:@"cc"];    }  }];}@end

分析:

#import "BaseManager.h"http://頭部manager對象#import "YSMasonryModel.h"http://模型層

三:YSMasonryModel.h

#import #import "BaseModel.h"#import "YSMasonryPileModel.h"NS_ASSUME_NONNULL_BEGIN@interface YSMasonryModel : BaseModel@property(nonatomic, copy) NSString *settings;@property(nonatomic, copy) NSArray *organizations;@property(nonatomic, copy) NSString *user;+(NSDictionary*)mj_objectClassInArray;@endNS_ASSUME_NONNULL_END

四:YSMasonryModel.m

#import "YSMasonryModel.h"@implementation YSMasonryModel+(NSDictionary*)mj_objectClassInArray{  return @{@"organizations":[YSMasonryPileModel class],};}@end

五:YSMasonryPileModel.h

#import #import "BaseModel.h"NS_ASSUME_NONNULL_BEGIN@interface YSMasonryPileModel : BaseModel@property(nonatomic,assign) NSString *isAdmin;@property(nonatomic, copy) NSString *organizationID;@property(nonatomic, copy) NSString *organizationName;@property(nonatomic, copy) NSString *createdAt;@property(nonatomic, copy) NSString *updatedAt;@property(nonatomic,assign) NSString *disableAssignExistingUsers;@property(nonatomic, copy) NSString *email;@property(nonatomic, copy) NSString *uid;@property(nonatomic,assign) NSString *isActive;@property(nonatomic, copy) NSString *note;@property(nonatomic,assign) NSString *sessionTTL;@property(nonatomic, copy) NSString *username;-(id)initWithDict:(NSDictionary*)dict;@endNS_ASSUME_NONNULL_END

六:YSMasonryPileModel.m

#import "YSMasonryPileModel.h"@implementation YSMasonryPileModel+ (NSDictionary *)mj_replacedKeyFromPropertyName{  return @{@"uid": @"uid"};}-(id)initWithDict:(NSDictionary*)dict{  if(self = [super init]){    self.createdAt = dict[@"createdAt"];    //@"gatewayDiscoveryEnabled":@(enable),    self.isAdmin = dict[@"isAdmin"];    self.organizationID = dict[@"organizationID"];    self.organizationName = dict[@"networkServerID"];    self.updatedAt = dict[@"updatedAt"];     self.disableAssignExistingUsers = dict[@"disableAssignExistingUsers"];    self.email = dict[@"email"];    self.uid = dict[@"id"];    self.isActive = dict[@"isActive"];    self.note = dict[@"note"];    self.sessionTTL = dict[@"sessionTTL"];    self.username = dict[@"username"];  }  return self;}@end

七:YSMasonryView.h

#import #import "BaseView.h"NS_ASSUME_NONNULL_BEGIN@interface YSMasonryView : BaseView@property(nonatomic,strong) UITableView *mDevericePile;@endNS_ASSUME_NONNULL_END

八:YSMasonryView.m

#import #import "YSMasonryView.h"#ifdef __OBJC__//define this constant if you want to use Masonry without the 'mas_' prefix#define MAS_SHORTHAND//define this constant if you want to enable auto-boxing for default syntax#define MAS_SHORTHAND_GLOBALS#import "Masonry.h"#endif@implementation YSMasonryView-(void)initView{  _mDevericePile = [[UITableView alloc] init];  _mDevericePile.separatorStyle = UITableViewCellSeparatorStyleSingleLine;  [self addSubview:_mDevericePile];  [_mDevericePile makeConstraints:^(MASConstraintMaker *make) {    make.top.equalTo(self).offset(0);    make.left.equalTo(self).offset(0);    make.right.equalTo(self).offset(0);    make.bottom.equalTo(self).offset(0);  }];}@end

九:YSMasonryCell.h

#import #import "BaseCell.h"NS_ASSUME_NONNULL_BEGIN@interface YSMasonryCell : BaseCell@property(nonatomic, strong) UIImageView *mNetImgVw;@property(nonatomic, strong) UILabel *mNetNameLb;@property(nonatomic, strong) UILabel *mNetServerLb;@property(nonatomic, strong) UILabel *mNetTimeLb;@endNS_ASSUME_NONNULL_END

十:YSMasonryCell.m

#import "YSMasonryCell.h"@implementation YSMasonryCell- (void)awakeFromNib {  [super awakeFromNib];}- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{  self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];  if(self){    UIView *mainView = [[UIView alloc] init];    mainView.layer.cornerRadius = 8;    mainView.layer.borderColor = [[UIColor grayColor] CGColor];    mainView.layer.borderWidth = 1;    [self addSubview:mainView];    [mainView makeConstraints:^(MASConstraintMaker *make){      make.left.equalTo(self).offset(10);      make.right.equalTo(self).offset(-10);      make.top.equalTo(self).offset(10);      make.bottom.equalTo(self).offset(-10);    }];    _mNetImgVw = [[UIImageView alloc] init];    [mainView addSubview:_mNetImgVw];    [_mNetImgVw makeConstraints:^(MASConstraintMaker *make){      make.centerY.equalTo(self);      make.left.equalTo(self).offset(20);      make.width.equalTo(@25);      make.height.equalTo(@25);    }];    //Net名稱    _mNetNameLb = [[UILabel alloc] init];    _mNetNameLb.textColor = [UIColor grayColor];    _mNetNameLb.font = [UIFont fontWithName:@"Helvetica-Bold" size:16];    _mNetNameLb.textAlignment = NSTextAlignmentLeft;    [mainView addSubview:_mNetNameLb];    [_mNetNameLb makeConstraints:^(MASConstraintMaker *make){      make.top.equalTo(mainView).offset(5);      make.left.equalTo(self.mNetImgVw).offset(35);      make.right.equalTo(mainView).offset(-5);      make.height.equalTo(@30);    }];    //創(chuàng)建時(shí)間    _mNetTimeLb = [[UILabel alloc] init];    _mNetTimeLb.textColor = [UIColor grayColor];    _mNetTimeLb.font = [UIFont fontWithName:@"Helvetica-Bold" size:14];    _mNetTimeLb.textAlignment = NSTextAlignmentRight;    [mainView addSubview:_mNetTimeLb];    [_mNetTimeLb makeConstraints:^(MASConstraintMaker *make){      make.top.equalTo(mainView).offset(10);      make.right.equalTo(mainView).offset(-10);      make.width.equalTo(@160);      make.height.equalTo(@30);    }];    //端口號    _mNetServerLb = [[UILabel alloc] init];    _mNetServerLb.textColor = [UIColor grayColor];    _mNetServerLb.font = [UIFont fontWithName:@"Helvetica-Bold" size:16];    _mNetServerLb.textAlignment = NSTextAlignmentLeft;    [mainView addSubview:_mNetServerLb];    [_mNetServerLb makeConstraints:^(MASConstraintMaker *make){      make.bottom.equalTo(self).offset(-15);      make.left.equalTo(self.mNetImgVw).offset(35);      make.right.equalTo(mainView).offset(-10);      make.height.equalTo(@30);    }];  }  return self;}- (void)setSelected:(BOOL)selected animated:(BOOL)animated {  [super setSelected:selected animated:animated];}@end

十一:YSMasonryContller.h

#import #import "BaseViewController.h"#import "YSMasonryView.h"#import "YSMasonryCell.h"#import "YSMasonryManager.h"#import "YSMasonryPileModel.h"#import "MBProgressHUD.h"#import "MJRefresh.h"#import "WHToast.h"NS_ASSUME_NONNULL_BEGIN@interface YSMasonryContller : BaseViewController@property(nonatomic,strong) YSMasonryView *lgdView;@property(nonatomic, strong) YSMasonryManager *lgdManager;@property(strong, nonatomic) NSMutableArray *dataList;@property (strong,nonatomic) MBProgressHUD *hud;@property(nonatomic, strong) YSMasonryPileModel *model;@property(nonatomic, strong) NSString *organizations;@property(assign,nonatomic) int limit;@property(assign,nonatomic) int offsert;@endNS_ASSUME_NONNULL_END

十二:YSMasonryContller.m

#import #import "YSMasonryContller.h"#define CELLIDENTIFITER "NETTABLEVIEWCELL"@interface YSMasonryContller()@end@implementation YSMasonryContller- (void)viewDidLoad {  [super viewDidLoad];  [self initData];}//頭部標(biāo)題a- (void)customContentView{  UIColor *commonBlue = [self.commonUtil stringToColor:@"#333333"];  [self.navigationController.navigationBar setBarTintColor:commonBlue];  self.navigationController.navigationBar.tintColor = [UIColor whiteColor];  self.navigationItem.title = @"NetWork Server";}- (void)customNavigationLeftItem{  UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil];  self.navigationItem.backBarButtonItem = item;}-(void)customNavigationRightItem{  UIBarButtonItem *add = [[UIBarButtonItem alloc] initWithTitle:@"Add" style:UIBarButtonItemStylePlain target:self action:@selector(onAddClick)];  add.tintColor = [UIColor whiteColor];  self.navigationItem.rightBarButtonItem = add;}-(void)initData{  UIView *view = [[UIView alloc] init];  self.lgdView.mDevericePile.tableFooterView = view;  self.lgdView.frame = self.view.bounds;  [self.view addSubview:self.lgdView];  _limit = 5;  _offsert = 0;}//啟動(dòng)時(shí)的運(yùn)行數(shù)據(jù)- (void)viewDidAppear:(BOOL)animated{  [super viewDidAppear:animated];  //加載數(shù)據(jù)  NSString *slimit = [NSString stringWithFormat:@"%d",_limit];  NSString *soffset = [NSString stringWithFormat:@"%d",_offsert];  [self.lgdManager getDeviceProile:slimit Offset:soffset];}-(YSMasonryView*)lgdView{  if(_lgdView==nil){    _lgdView = [[YSMasonryView alloc] init];    _lgdView.mDevericePile.dataSource = (id)self;    _lgdView.mDevericePile.delegate = (id)self;  }  return _lgdView;}-(YSMasonryManager*)lgdManager{  if(_lgdManager==nil){    _lgdManager = [[YSMasonryManager alloc] init];    _lgdManager.delegate = (id)self;  }  return _lgdManager;}-(NSMutableArray*)dataList{  if(_dataList==nil){    _dataList = [NSMutableArray array];  }  return _dataList;}#pragma mark get network data-(void)networkSuccess:(YSMasonryModel *_Nullable)result{  [self.lgdView.mDevericePile.mj_header endRefreshing];  [self.lgdView.mDevericePile.mj_footer endRefreshing];  self.dataList = [NSMutableArray arrayWithArray:result.organizations];  [self.lgdView.mDevericePile reloadData];}-(void)networkFail:(NSString *_Nullable)result{  [self.lgdView.mDevericePile.mj_header endRefreshing];  [self.lgdView.mDevericePile.mj_footer endRefreshing];  [WHToast showMessage:result originY:500 duration:2 finishHandler:^{  }];}#pragma mark tableView-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{  return self.dataList.count;}- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {  YSMasonryCell *cell = [tableView dequeueReusableCellWithIdentifier:@CELLIDENTIFITER];  if(cell==nil){    cell = [[YSMasonryCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@CELLIDENTIFITER];  }  if(_dataList.count>0){    YSMasonryPileModel *model = [[YSMasonryPileModel alloc] initWithDict:[self.dataList objectAtIndex:indexPath.row]];    if(model!=nil){      //cell.mNetImgVw.image = [UIImage imageNamed:@"net"];      // cell.mNetNameLb.text = model.isAdmin;      // cell.mNetTimeLb.text = [self dateAndStrings:model.createdAt];      cell.mNetServerLb.text = @"vv";    }  }  return cell;}-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{  if(_dataList.count>0){    YSMasonryPileModel *model = [[YSMasonryPileModel alloc] initWithDict:[self.dataList objectAtIndex:indexPath.row]];    if(model!=nil){      // [self updateNetWorkServer:model.deviceprolieid];    }  }}-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{  return 100;}-(NSString*)dateAndStrings:(NSString*)date{  if(date!=nil){    NSArray *strtime = [date componentsSeparatedByString:@"T"];    //NSString *strtime = [date stringByReplacingOccurrencesOfString:@"T" withString:@" "];    return strtime[0];  }  return @"None";}//添加add設(shè)備-(void)onAddClick{}@end

十三:所用到的常量一些定義:

Constants.h

#import #define BASE_URL @"http://110.22.33/ilLoRaWan/"#define USERJWTKEYS @"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJsb3JhLWFwcC1zZXJ2ZXIiLCJhdWQiOiJsb3JhLWFwc"

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“IOS中MVC層如何讀取服務(wù)器接口JSON數(shù)據(jù)”這篇文章對大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!


網(wǎng)頁題目:IOS中MVC層如何讀取服務(wù)器接口JSON數(shù)據(jù)-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://m.jcarcd.cn/article/ddisoc.html
主站蜘蛛池模板: 岛国三级在 | 午夜影院在线观看 | 韩日国产一区二区 | 日本大片免a| 国产精品137级内 | 青青草原网站 | 97人人澡 | 区三四区视频黑人 | 国产爽片在线观看 | 91中文字幕永久 | 国产自产精 | 区在线观看 | 91精品拳交一区 | 午夜成人影视神马 | 韩国三级激情 | 日韩国产在线观看 | 国产特级婬片免费看 | 精品精品国产自 | 欧美日韩在线视 | 乱轮视频 | 精品国产亚洲国 | 日韩在线一区 | 国产真实乱在线更新 | 福利片免费| 欧美日韩国产亚洲 | www亚洲伊 | 人操人碰 | 国产香港日 | 日韩午夜电影在线 | 欧美日韩乱伦视频 | 欧美三级一级在 | 日本韩国欧美 | 人在线观看青青 | 国产一区二区xxx | 成人国产精 | 精品一区在线 | 国产亚洲美女精 | 国产性爱网 | 国产乱子伦视频大全 | 人兽你懂得网站 | 日韩理论午夜 |